nice-commit Mailing List for The Nice Programming Language (Page 84)
Brought to you by:
bonniot
You can subscribe to this list here.
2003 |
Jan
|
Feb
(60) |
Mar
(125) |
Apr
(183) |
May
(140) |
Jun
(227) |
Jul
(141) |
Aug
(181) |
Sep
(75) |
Oct
(89) |
Nov
(187) |
Dec
(162) |
---|---|---|---|---|---|---|---|---|---|---|---|---|
2004 |
Jan
(69) |
Feb
(197) |
Mar
(98) |
Apr
(26) |
May
(10) |
Jun
(85) |
Jul
(88) |
Aug
(79) |
Sep
(80) |
Oct
(81) |
Nov
(53) |
Dec
(109) |
2005 |
Jan
(68) |
Feb
(77) |
Mar
(232) |
Apr
(79) |
May
(37) |
Jun
(37) |
Jul
(3) |
Aug
(18) |
Sep
|
Oct
|
Nov
|
Dec
|
2006 |
Jan
(10) |
Feb
|
Mar
(4) |
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
(2) |
Nov
(1) |
Dec
(9) |
2007 |
Jan
(2) |
Feb
(8) |
Mar
(2) |
Apr
(5) |
May
|
Jun
|
Jul
|
Aug
(4) |
Sep
|
Oct
|
Nov
(17) |
Dec
(6) |
2008 |
Jan
|
Feb
(3) |
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
2011 |
Jan
|
Feb
|
Mar
|
Apr
(1) |
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
From: <bo...@us...> - 2003-09-06 11:31:15
|
Update of /cvsroot/nice/Nice/src/mlsub/typing/lowlevel In directory sc8-pr-cvs1:/tmp/cvs-serv27986/src/mlsub/typing/lowlevel Modified Files: Domain.java BitVector.java Log Message: Revert mlsub.typing.{BitVector,Domain} to their previous version, as the change provoked a bug during the coverage test for methods on abstract interfaces. Index: Domain.java =================================================================== RCS file: /cvsroot/nice/Nice/src/mlsub/typing/lowlevel/Domain.java,v retrieving revision 1.3 retrieving revision 1.4 diff -C2 -d -r1.3 -r1.4 *** Domain.java 5 Jul 2003 17:05:23 -0000 1.3 --- Domain.java 6 Sep 2003 11:31:10 -0000 1.4 *************** *** 202,206 **** * Iteration thru the domain elements **/ ! public int getLowestSetBit() { int result = super.getLowestSetBit(); if (result == UNDEFINED_INDEX && containsUnit) { --- 202,206 ---- * Iteration thru the domain elements **/ ! int getFirstBit() { // unused method ??? int result = super.getLowestSetBit(); if (result == UNDEFINED_INDEX && containsUnit) { Index: BitVector.java =================================================================== RCS file: /cvsroot/nice/Nice/src/mlsub/typing/lowlevel/BitVector.java,v retrieving revision 1.7 retrieving revision 1.8 diff -C2 -d -r1.7 -r1.8 *** BitVector.java 5 Jul 2003 17:05:23 -0000 1.7 --- BitVector.java 6 Sep 2003 11:31:10 -0000 1.8 *************** *** 25,29 **** @return number of WORDS allocated */ ! final private int length() { if (bits1 == null) --- 25,29 ---- @return number of WORDS allocated */ ! private int length() { if (bits1 == null) *************** *** 36,40 **** * Convert bitIndex to a subscript into the bits[] array. */ ! final private static int subscript(int bitIndex) { return bitIndex >> BITS_PER_UNIT; } --- 36,40 ---- * Convert bitIndex to a subscript into the bits[] array. */ ! private static int subscript(int bitIndex) { return bitIndex >> BITS_PER_UNIT; } *************** *** 42,46 **** * Convert a subscript into the bits[] array to a (maximum) bitIndex. */ ! final private static int bitIndex(int subscript) { return (subscript << BITS_PER_UNIT) + MASK; } --- 42,46 ---- * Convert a subscript into the bits[] array to a (maximum) bitIndex. */ ! private static int bitIndex(int subscript) { return (subscript << BITS_PER_UNIT) + MASK; } *************** *** 50,55 **** */ public BitVector() { ! bits0 = 0L; ! bits1 = null; } --- 50,54 ---- */ public BitVector() { ! this(1 << BITS_PER_UNIT); } *************** *** 87,91 **** * @param nth the 0-origin number of the bit to ensure is there. */ ! final private void ensureCapacity(int nth) { int required = subscript(nth) + 1; /* +1 to get length, not index */ if (required == 1) --- 86,90 ---- * @param nth the 0-origin number of the bit to ensure is there. */ ! private void ensureCapacity(int nth) { int required = subscript(nth) + 1; /* +1 to get length, not index */ if (required == 1) *************** *** 108,134 **** } - final private void ensureChunkCapacity(int required) { - if (required > length()) { - /* Ask for larger of doubled size or required size */ - int request = Math.max(2 * length(), required); - if (bits1 == null) - { - bits1 = new long[request]; - bits1[0] = bits0; - } - else - { - long[] newBits = new long[request]; - System.arraycopy(bits1, 0, newBits, 0, bits1.length); - bits1 = newBits; - } - } - } - /** * Sets a bit. * @param bit the bit to be set */ ! final public void set(int bit) { if (bit < 0) { throw new IndexOutOfBoundsException(Integer.toString(bit)); --- 107,115 ---- } /** * Sets a bit. * @param bit the bit to be set */ ! public void set(int bit) { if (bit < 0) { throw new IndexOutOfBoundsException(Integer.toString(bit)); *************** *** 149,155 **** throw new IndexOutOfBoundsException(Integer.toString(bit)); } ! int sub = subscript(bit); ! if (sub < length()) ! andW(sub, ~(1L << (bit & MASK))); } --- 130,138 ---- throw new IndexOutOfBoundsException(Integer.toString(bit)); } ! ensureCapacity(bit); ! if (bits1 == null) ! bits0 &= ~(1L << bit); // we know that bit <= 64 ! else ! bits1[subscript(bit)] &= ~(1L << (bit & MASK)); } *************** *** 251,255 **** @return bits[i] */ ! final private long getW(int i) { if (bits1 == null) --- 234,238 ---- @return bits[i] */ ! private long getW(int i) { if (bits1 == null) *************** *** 264,268 **** Assumes i is a valid word index. */ ! final private void setW(int i, long w) { if (bits1 == null) --- 247,251 ---- Assumes i is a valid word index. */ ! private void setW(int i, long w) { if (bits1 == null) *************** *** 277,281 **** Assumes i is a valid word index. */ ! final private void andW(int i, long w) { if (bits1 == null) --- 260,264 ---- Assumes i is a valid word index. */ ! private void andW(int i, long w) { if (bits1 == null) *************** *** 290,294 **** Assumes i is a valid word index. */ ! final private void orW(int i, long w) { if (bits1 == null) --- 273,277 ---- Assumes i is a valid word index. */ ! private void orW(int i, long w) { if (bits1 == null) *************** *** 303,307 **** Assumes i is a valid word index. */ ! final private void xorW(int i, long w) { if (bits1 == null) --- 286,290 ---- Assumes i is a valid word index. */ ! private void xorW(int i, long w) { if (bits1 == null) *************** *** 312,318 **** /** * Do this = this & (~set1 | set2) on all bits >= from **/ ! final private void andNotOr(int from, BitVector set1, BitVector set2) { int bitsLength = length(); int set1Length = set1.length(); --- 295,316 ---- /** + * do this = this & (~set) on bits >= from + */ + final public void andNot(int from, BitVector set) { + int n = Math.min(length(), set.length()); + int i = subscript(from); + if (i < n) { + andW(i, ~set.getW(i) & (-1L) << (from & MASK)); + i++; + for (; i < n; i++) { + bits1[i] &= ~set.getW(i); + } + } + } + + /** * Do this = this & (~set1 | set2) on all bits >= from **/ ! final public void andNotOr(int from, BitVector set1, BitVector set2) { int bitsLength = length(); int set1Length = set1.length(); *************** *** 385,391 **** **/ final public void or(BitVector set) { ! int setLength = set.length(); if (setLength > 1) { ! ensureChunkCapacity(setLength); for (int i = setLength; i-- > 0 ;) { bits1[i] |= set.bits1[i]; --- 383,392 ---- **/ final public void or(BitVector set) { ! if (this == set) { ! return; ! } ! int setLength = set.nonZeroLength(); if (setLength > 1) { ! ensureCapacity(bitIndex(setLength-1)); for (int i = setLength; i-- > 0 ;) { bits1[i] |= set.bits1[i]; *************** *** 399,408 **** /** * Do this = this | (set1 & set2) **/ final public void orAnd(BitVector set1, BitVector set2) { int setLength = Math.min(set1.nonZeroLength(),set2.nonZeroLength()); ! if (setLength > 1) { ! ensureChunkCapacity(setLength); } for (int i = setLength; i-- > 0 ;) { --- 400,434 ---- /** + * Do this = this | (set1 & ~set2) + **/ + final public void orNotIn(BitVector set1, BitVector set2) { + if (this == set1) { + return; + } + int set1Length = set1.nonZeroLength(); + int set2Length = set2.length(); + if (set1Length > 0) { + ensureCapacity(bitIndex(set1Length - 1)); // XXX: problem ? + } + for (int i = set1Length; i-- > 0;) { + if (i < set2Length) { + orW(i, set1.getW(i) & ~set2.getW(i)); + } else { + orW(i, set1.getW(i)); + } + } + } + + + /** * Do this = this | (set1 & set2) **/ final public void orAnd(BitVector set1, BitVector set2) { + if (this == set1 || this == set2) { + return; + } int setLength = Math.min(set1.nonZeroLength(),set2.nonZeroLength()); ! if (setLength > 0) { ! ensureCapacity(bitIndex(setLength-1));// this might cause some problem... } for (int i = setLength; i-- > 0 ;) { *************** *** 411,425 **** } /* * If there are some trailing zeros, don't count them * result is greater or equal to 1 */ ! final private int nonZeroLength() { if (bits1 == null) return 1; ! int n = bits1.length-1; ! while (n > 0 && bits1[n] == 0L) { n--; } ! return n+1; } --- 437,467 ---- } + + /* * If there are some trailing zeros, don't count them * result is greater or equal to 1 */ ! private int nonZeroLength() { if (bits1 == null) return 1; ! int n = bits1.length; ! while (n > 1 && bits1[n-1] == 0L) { n--; } ! return n; ! } ! ! ! /** ! * Do this = this ^ set ! **/ ! final public void xor(BitVector set) { ! int setLength = set.length(); ! if (setLength > 0) { ! ensureCapacity(bitIndex(setLength-1)); ! } ! for (int i = setLength; i-- > 0 ;) { ! xorW(i, set.getW(i)); ! } } *************** *** 480,483 **** --- 522,527 ---- } + + /** * Clones the BitVector. *************** *** 569,573 **** } ! final private static /* XXX: work around Symantec JIT bug: comment static */ int chunkLowestSetBit(long chunk) { --- 613,617 ---- } ! private static /* XXX: work around Symantec JIT bug: comment static */ int chunkLowestSetBit(long chunk) { *************** *** 589,593 **** * set is empty. **/ ! public int getLowestSetBit() { if (bits1 == null) { --- 633,637 ---- * set is empty. **/ ! final public int getLowestSetBit() { if (bits1 == null) { *************** *** 656,659 **** --- 700,704 ---- } + /** * Compute the first bit set in this & ~set. *************** *** 699,702 **** --- 744,771 ---- } + final public int getLowestSetBitAndNotIn(BitVector set, BitVector exclude) { + int n = length(); + int setLength = set.length(); + int excludeLength = exclude.length(); + int result = 0; + for (int i = 0; i < n; i++) { + long chunk = getW(i); + if (i < setLength) { + chunk &= set.getW(i); + } else { + return UNDEFINED_INDEX; + } + if (i < excludeLength) { + chunk &= ~exclude.getW(i); + } + if (chunk != 0L) { + return result + chunkLowestSetBit(chunk); + } else { + result += 64; + } + } + return UNDEFINED_INDEX; + } + /** * Return true if this BitVector is included in set *************** *** 733,744 **** **/ public boolean isEmpty() { ! if (bits1 == null) ! return bits0 == 0L; ! ! for (int i = bits1.length; --i>0; ) ! if (bits1[i] != 0L) return false; ! ! return bits1[0] == 0L; } --- 802,812 ---- **/ public boolean isEmpty() { ! int n = length(); ! for (int i = 0; i < n; i++) { ! if (getW(i) != 0L) { return false; ! } ! } ! return true; } *************** *** 805,808 **** --- 873,877 ---- } + /** * Clears the first n bits of this BitVector *************** *** 826,847 **** final public void addProduct(BitMatrix M, BitVector v) { int n = M.size(); ! ensureCapacity(n); for(int i = v.getLowestSetBit(); i >= 0; i = v.getLowestSetBit(i+1)) ! { ! BitVector set = M.getRow(i); ! int setLength = set.nonZeroLength(); ! if (setLength > 1) { ! for (int j = setLength; j-- > 0 ;) ! bits1[j] |= set.bits1[j]; ! } ! else ! { ! orW(0, set.getW(0)); ! } ! } } - } --- 895,911 ---- final public void addProduct(BitMatrix M, BitVector v) { int n = M.size(); ! for(int i = v.getLowestSetBit(); i >= 0; i = v.getLowestSetBit(i+1)) ! or(M.getRow(i)); ! } ! final public void slowaddProduct(BitMatrix M, BitVector v) { ! int n = M.size(); ! for (int i = 0; i < n; i++) { ! if (v.get(i)) { ! or(M.getRow(i)); } + } } } |
From: <bo...@us...> - 2003-09-06 11:31:15
|
Update of /cvsroot/nice/Nice/testsuite/compiler/methods In directory sc8-pr-cvs1:/tmp/cvs-serv27986/testsuite/compiler/methods Added Files: coverage.testsuite Log Message: Revert mlsub.typing.{BitVector,Domain} to their previous version, as the change provoked a bug during the coverage test for methods on abstract interfaces. --- NEW FILE: coverage.testsuite --- /// FAIL /// Toplevel class B implements nice.lang.Comparable { // `<` not implemented } /// FAIL /// Toplevel abstract interface I { boolean fooI(alike); } class nice.lang.boolean implements I; fooI(b1@boolean, b2@boolean) = b1; class A implements I { // `fooI` not implemented } /// FAIL /// Toplevel abstract interface I { boolean fooI(String); } class A implements I { fooI(x) = false; } class B implements I { // `fooI` not implemented } |
From: <bo...@us...> - 2003-09-05 21:23:57
|
Update of /cvsroot/nice/Nice In directory sc8-pr-cvs1:/tmp/cvs-serv5931 Modified Files: Makefile Log Message: Use a separate directory to store inlined operations. This allows further separation of the running compiler with the source compiler being compiled, thus making bootstraping easier. Index: Makefile =================================================================== RCS file: /cvsroot/nice/Nice/Makefile,v retrieving revision 1.127 retrieving revision 1.128 diff -C2 -d -r1.127 -r1.128 *** Makefile 31 Aug 2003 14:30:11 -0000 1.127 --- Makefile 5 Sep 2003 21:23:53 -0000 1.128 *************** *** 31,39 **** JAVAC_FLAGS = -O -g ! JAVAC= ${javac} -classpath "${TOP}/classes:${TOP}/classes.old" -sourcepath "${TOP}/src:${TOP}/stdlib" -d "${TOP}/classes" $(JAVAC_FLAGS) JAVADOC=javadoc NICEC_ARGS= --exclude-runtime ! NICEC=CLASSPATH="${TOP}/classes" JAVA="${java}" ./bin/nicec.bootstrap ${NICEC_ARGS} -d "${TOP}/classes.old" --sourcepath="${TOP}/stdlib.old:${TOP}/stdlib:${TOP}/src.old:${TOP}/src" --classpath="${TOP}/classes" NICEC1=JAVA="${java}" ${TOP}/bin/nicec ${NICEC_ARGS} -d "${TOP}/classes" --sourcepath="${TOP}/stdlib:${TOP}/src" --- 31,40 ---- JAVAC_FLAGS = -O -g ! JAVAC_GENERIC= ${javac} -classpath "${TOP}/classes:${TOP}/classes.old" -sourcepath "${TOP}/src:${TOP}/stdlib" $(JAVAC_FLAGS) ! JAVAC= ${JAVAC_GENERIC} -d "${TOP}/classes" JAVADOC=javadoc NICEC_ARGS= --exclude-runtime ! NICEC=CLASSPATH="${TOP}/classes" JAVA="${java} -Dnice.inlined=classes-inline" ./bin/nicec.bootstrap ${NICEC_ARGS} -d "${TOP}/classes.old" --sourcepath="${TOP}/stdlib.old:${TOP}/stdlib:${TOP}/src.old:${TOP}/src" --classpath="${TOP}/classes" NICEC1=JAVA="${java}" ${TOP}/bin/nicec ${NICEC_ARGS} -d "${TOP}/classes" --sourcepath="${TOP}/stdlib:${TOP}/src" *************** *** 124,128 **** clean: rm -f src/nice/tools/compiler/console.jar ! -rm -rf classes share/java src/bossa/parser/{Parse*.java,Token*.java,ASCII_*.java} find "${TOP}" \( -name "*.class" -o -name "*.nicei" -o -name "*~" \) -exec rm {} \; --- 125,129 ---- clean: rm -f src/nice/tools/compiler/console.jar ! -rm -rf classes classes-inline share/java src/bossa/parser/{Parse*.java,Token*.java,ASCII_*.java} find "${TOP}" \( -name "*.class" -o -name "*.nicei" -o -name "*~" \) -exec rm {} \; *************** *** 156,163 **** bootstrap: parser cd src/gnu/lists && ./withCollections ! mkdir -p classes -cd src/bossa/syntax && mv -f dispatch.java.bootstrap dispatch.java ${JAVAC} \ ! stdlib/nice/lang/Native.java stdlib/nice/lang/inline/*.java \ src/mlsub/compilation/Module.java \ src/bossa/modules/Package.java src/bossa/util/*.java \ --- 157,164 ---- bootstrap: parser cd src/gnu/lists && ./withCollections ! mkdir -p classes classes-inline -cd src/bossa/syntax && mv -f dispatch.java.bootstrap dispatch.java ${JAVAC} \ ! stdlib/nice/lang/Native.java \ src/mlsub/compilation/Module.java \ src/bossa/modules/Package.java src/bossa/util/*.java \ *************** *** 165,168 **** --- 166,171 ---- src/nice/tools/code/*.java src/mlsub/typing/*.java \ src/mlsub/typing/lowlevel/*.java src/bossa/syntax/dispatch.java + $(JAVAC_GENERIC) -d classes-inline stdlib/nice/lang/inline/*.java + cp -a classes-inline/* classes ${NICEC} -R bossa.modules ${NICEC} -r nice.tools.ast |
From: <bo...@us...> - 2003-09-05 21:21:06
|
Update of /cvsroot/nice/Nice/src/bossa/syntax In directory sc8-pr-cvs1:/tmp/cvs-serv5403/src/bossa/syntax Modified Files: InlinedMethod.java Log Message: Allows to specify an alternate directory where inlined methods can be found. This is especially useful for bootstrap. Index: InlinedMethod.java =================================================================== RCS file: /cvsroot/nice/Nice/src/bossa/syntax/InlinedMethod.java,v retrieving revision 1.12 retrieving revision 1.13 diff -C2 -d -r1.12 -r1.13 *** InlinedMethod.java 17 Jun 2003 12:03:05 -0000 1.12 --- InlinedMethod.java 5 Sep 2003 21:21:03 -0000 1.13 *************** *** 60,64 **** Class refClass = null; try{ ! refClass = Class.forName(inlineProcedure.toString()); } catch(ClassNotFoundException e){ --- 60,64 ---- Class refClass = null; try{ ! refClass = findClass(inlineProcedure.toString()); } catch(ClassNotFoundException e){ *************** *** 107,110 **** --- 107,164 ---- this.procedure = (gnu.mapping.Procedure) o; + } + + private Class findClass(String name) throws ClassNotFoundException + { + if (loader == null) + return Class.forName(name); + else + return loader.loadClass(name); + } + + static ClassLoader loader; + + static + { + String inlinedMethodsRepository = System.getProperty("nice.inlined"); + if (inlinedMethodsRepository != null) + try { + inlinedMethodsRepository = "file://" + + new java.io.File(inlinedMethodsRepository).getAbsolutePath() + '/'; + loader = new java.net.URLClassLoader + (new java.net.URL[]{ new java.net.URL(inlinedMethodsRepository) }) + { + protected Class loadClass(String name, boolean resolve) + throws ClassNotFoundException + { + /* Change the default behviour, which is to look up the + parent classloader first. Instead, look it up after this one, + so that the inlined methods are found here, but the + interfaces they implement are found in the system classloader, + so that the casts for using them succeed. + */ + Class res = findLoadedClass(name); + + if (res == null) + try { + res = this.findClass(name); + } + catch (ClassNotFoundException ex) {} + + if (res == null) + res = getParent().loadClass(name); + + if (resolve && res != null) + resolveClass(res); + + return res; + } + }; + } + catch (java.net.MalformedURLException ex) { + bossa.util.Internal.warning + ("Incorrect location for inlined methods: " + + inlinedMethodsRepository); + } } |
From: <ar...@us...> - 2003-09-03 23:26:33
|
Update of /cvsroot/nice/Nice/stdlib/nice/lang In directory sc8-pr-cvs1:/tmp/cvs-serv29656/F:/nice/stdlib/nice/lang Modified Files: collections.nice array.nice Log Message: Revert filter to a monomorphic return type. Index: collections.nice =================================================================== RCS file: /cvsroot/nice/Nice/stdlib/nice/lang/collections.nice,v retrieving revision 1.54 retrieving revision 1.55 diff -C2 -d -r1.54 -r1.55 *** collections.nice 30 Aug 2003 23:06:07 -0000 1.54 --- collections.nice 3 Sep 2003 23:26:30 -0000 1.55 *************** *** 27,31 **** <Collection C, T, U> C<U> map(C<T> coll, T->U func); ! <Collection C, T, U | T <: U> C<U> filter(C<T>, T->boolean); /** Return a collection containing all elements for which converter --- 27,33 ---- <Collection C, T, U> C<U> map(C<T> coll, T->U func); ! //<Collection C, T, U | T <: U> C<U> filter(C<T>, T->boolean); ! //temporaly using a non polymorpic return because of type inference ! <Collection C, T> C<T> filter(C<T>, T->boolean); /** Return a collection containing all elements for which converter *************** *** 126,132 **** } ! <C,T,U> filter(coll, test) { ! C<U> res = coll.similarEmptyCollection(); for (T elem : coll) if (test(elem)) --- 128,134 ---- } ! <C,T> filter(coll, test) { ! C<T> res = coll.similarEmptyCollection(); for (T elem : coll) if (test(elem)) Index: array.nice =================================================================== RCS file: /cvsroot/nice/Nice/stdlib/nice/lang/array.nice,v retrieving revision 1.27 retrieving revision 1.28 diff -C2 -d -r1.27 -r1.28 *** array.nice 25 Aug 2003 17:27:10 -0000 1.27 --- array.nice 3 Sep 2003 23:26:30 -0000 1.28 *************** *** 86,99 **** <C,T,U> map(a@Array, func) = fill(new U[a.length], int i => func(a[i])); ! <C,T,U> filter(a@Array, test) = a.filter(test); // Specialized versions for arrays. ! <T, U | T <: U> U[] filter(T[] a, T -> boolean test) { int l = a.length; int found = 0; ! U[] res = cast(new U[l]); a.foreach(T elem => --- 86,99 ---- <C,T,U> map(a@Array, func) = fill(new U[a.length], int i => func(a[i])); ! <C,T> filter(a@Array, test) = a.filter(test); // Specialized versions for arrays. ! <T> T[] filter(T[] a, T -> boolean test) { int l = a.length; int found = 0; ! T[] res = cast(new T[l]); a.foreach(T elem => |
From: <ar...@us...> - 2003-09-03 22:32:14
|
Update of /cvsroot/nice/Nice/testsuite/compiler/methods In directory sc8-pr-cvs1:/tmp/cvs-serv19399/F:/nice/testsuite/compiler/methods Modified Files: integer.testsuite Log Message: fix for bug #800002. Index: integer.testsuite =================================================================== RCS file: /cvsroot/nice/Nice/testsuite/compiler/methods/integer.testsuite,v retrieving revision 1.11 retrieving revision 1.12 diff -C2 -d -r1.11 -r1.12 *** integer.testsuite 23 Jul 2003 18:41:20 -0000 1.11 --- integer.testsuite 3 Sep 2003 22:32:10 -0000 1.12 *************** *** 201,202 **** --- 201,214 ---- /// package b import a assert foo('#'); + + /// PASS + /// Toplevel + int g(int m, int n); + g(m, n<0) = 1; + g(m, n>=0) = 1; + + /// PASS + /// Toplevel + int g(int m, int n); + g(m<0, n) = 1; + g(m>=0, n) = 1; |
From: <ar...@us...> - 2003-09-03 22:32:14
|
Update of /cvsroot/nice/Nice/src/bossa/link In directory sc8-pr-cvs1:/tmp/cvs-serv19399/F:/nice/src/bossa/link Modified Files: Alternative.java Log Message: fix for bug #800002. Index: Alternative.java =================================================================== RCS file: /cvsroot/nice/Nice/src/bossa/link/Alternative.java,v retrieving revision 1.42 retrieving revision 1.43 diff -C2 -d -r1.42 -r1.43 *** Alternative.java 5 Jun 2003 16:06:04 -0000 1.42 --- Alternative.java 3 Sep 2003 22:32:10 -0000 1.43 *************** *** 101,106 **** boolean matches(TypeConstructor[] tags) { ! for(int i = 0, n = 0; i < patterns.length; i++) ! if (!patterns[i].matches(tags[n++])) return false; --- 101,106 ---- boolean matches(TypeConstructor[] tags) { ! for(int i = 0; i < patterns.length; i++) ! if (!patterns[i].matches(tags[i])) return false; *************** *** 110,115 **** boolean matchesTypePart(TypeConstructor[] tags, boolean[] isValue) { ! for(int i = 0, n = 0; i < patterns.length; i++) ! if (!isValue[i] && !patterns[i].matches(tags[n++])) return false; --- 110,115 ---- boolean matchesTypePart(TypeConstructor[] tags, boolean[] isValue) { ! for(int i = 0; i < patterns.length; i++) ! if (!isValue[i] && !patterns[i].matches(tags[i])) return false; *************** *** 119,124 **** boolean matchesValuePart(ConstantExp[] values, boolean[] isValue) { ! for(int i = 0, n = 0; i < patterns.length; i++) ! if (isValue[i] && !patterns[i].matchesValue(values[n++])) return false; --- 119,124 ---- boolean matchesValuePart(ConstantExp[] values, boolean[] isValue) { ! for(int i = 0; i < patterns.length; i++) ! if (isValue[i] && !patterns[i].matchesValue(values[i])) return false; |
From: <bo...@us...> - 2003-09-02 23:14:18
|
Update of /cvsroot/nice/Nice/src/bossa/link In directory sc8-pr-cvs1:/tmp/cvs-serv3205/src/bossa/link Modified Files: Dispatch.java Log Message: When a method is retyped after it has been registered for dispatch, unregister it to avoid spurious coverage error. Index: Dispatch.java =================================================================== RCS file: /cvsroot/nice/Nice/src/bossa/link/Dispatch.java,v retrieving revision 1.60 retrieving revision 1.61 diff -C2 -d -r1.60 -r1.61 *** Dispatch.java 26 Aug 2003 16:07:58 -0000 1.60 --- Dispatch.java 2 Sep 2003 23:14:14 -0000 1.61 *************** *** 54,57 **** --- 54,62 ---- } + public static void unregister(MethodDeclaration m) + { + javaMethods.remove(m); + } + private static Collection methods, javaMethods; public static void reset() |
From: <bo...@us...> - 2003-09-02 23:14:17
|
Update of /cvsroot/nice/Nice/testsuite/compiler/native In directory sc8-pr-cvs1:/tmp/cvs-serv3205/testsuite/compiler/native Modified Files: retyping.testsuite Log Message: When a method is retyped after it has been registered for dispatch, unregister it to avoid spurious coverage error. Index: retyping.testsuite =================================================================== RCS file: /cvsroot/nice/Nice/testsuite/compiler/native/retyping.testsuite,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** retyping.testsuite 22 Oct 2002 16:52:07 -0000 1.2 --- retyping.testsuite 2 Sep 2003 23:14:14 -0000 1.3 *************** *** 25,26 **** --- 25,42 ---- native int java.text.AttributedCharacterIterator.getRunLimit (java.text.AttributedCharacterIterator.Attribute); + + /// PASS + /// package a + /// Toplevel + + abstract class A implements javax.swing.Action { + putValue(x, y) {} + } + /// package b import a + /// Toplevel + <T> void putValue(javax.swing.Action, String, T) = + native void javax.swing.Action.putValue(String, Object); + + public class Flow4JEditPartFactory implements javax.swing.Action { + putValue(editPart, model) {} + } |
From: <bo...@us...> - 2003-09-02 23:14:17
|
Update of /cvsroot/nice/Nice/src/bossa/syntax In directory sc8-pr-cvs1:/tmp/cvs-serv3205/src/bossa/syntax Modified Files: JavaClasses.java Log Message: When a method is retyped after it has been registered for dispatch, unregister it to avoid spurious coverage error. Index: JavaClasses.java =================================================================== RCS file: /cvsroot/nice/Nice/src/bossa/syntax/JavaClasses.java,v retrieving revision 1.36 retrieving revision 1.37 diff -C2 -d -r1.36 -r1.37 *** JavaClasses.java 29 Aug 2003 16:52:42 -0000 1.36 --- JavaClasses.java 2 Sep 2003 23:14:14 -0000 1.37 *************** *** 248,251 **** --- 248,252 ---- { Node.getGlobalScope().removeSymbol(m.getSymbol()); + bossa.link.Dispatch.unregister(m); } |
From: <ar...@us...> - 2003-09-02 19:57:59
|
Update of /cvsroot/nice/Nice/testsuite/compiler/typing In directory sc8-pr-cvs1:/tmp/cvs-serv27679/F:/nice/testsuite/compiler/typing Modified Files: coverage.testsuite Log Message: Store the location of every null literal and removed deprecated syntax. Index: coverage.testsuite =================================================================== RCS file: /cvsroot/nice/Nice/testsuite/compiler/typing/coverage.testsuite,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** coverage.testsuite 7 Oct 2002 13:50:35 -0000 1.1 --- coverage.testsuite 2 Sep 2003 19:57:52 -0000 1.2 *************** *** 23,25 **** void method3(String); method3(f@String) {} // this case is mandatory to cover method3 ! method3(/*/// FAIL HERE */ f@null) {} --- 23,25 ---- void method3(String); method3(f@String) {} // this case is mandatory to cover method3 ! method3(/*/// FAIL HERE */null) {} |
From: <ar...@us...> - 2003-09-02 19:57:59
|
Update of /cvsroot/nice/Nice/src/bossa/syntax In directory sc8-pr-cvs1:/tmp/cvs-serv27679/F:/nice/src/bossa/syntax Modified Files: NullExp.java Pattern.java Log Message: Store the location of every null literal and removed deprecated syntax. Index: NullExp.java =================================================================== RCS file: /cvsroot/nice/Nice/src/bossa/syntax/NullExp.java,v retrieving revision 1.8 retrieving revision 1.9 diff -C2 -d -r1.8 -r1.9 *** NullExp.java 22 Jul 2003 12:09:05 -0000 1.8 --- NullExp.java 2 Sep 2003 19:57:52 -0000 1.9 *************** *** 32,38 **** since it has no state. */ ! public static final NullExp instance = new NullExp(); private NullExp() {} void computeType() --- 32,45 ---- since it has no state. */ ! // public static final NullExp instance = new NullExp(); private NullExp() {} + + public static NullExp create(Location loc) + { + NullExp res = new NullExp(); + res.setLocation(loc); + return res; + } void computeType() Index: Pattern.java =================================================================== RCS file: /cvsroot/nice/Nice/src/bossa/syntax/Pattern.java,v retrieving revision 1.69 retrieving revision 1.70 diff -C2 -d -r1.69 -r1.70 *** Pattern.java 14 Aug 2003 09:34:47 -0000 1.69 --- Pattern.java 2 Sep 2003 19:57:52 -0000 1.70 *************** *** 727,731 **** if (name.equals("NULL")) ! return new Pattern(NullExp.instance); if (name.equals("true") || name.equals("false") ) --- 727,731 ---- if (name.equals("NULL")) ! return new Pattern(NullExp.create(Location.nowhere())); if (name.equals("true") || name.equals("false") ) *************** *** 824,828 **** return atValue != null && !atBool() && !atNull() &&!atIntCompare(); } ! public boolean atNull() { return atValue == NullExp.instance; } public boolean atAny() { return atValue == null && tc == null; } public boolean atBool() { --- 824,828 ---- return atValue != null && !atBool() && !atNull() &&!atIntCompare(); } ! public boolean atNull() { return atValue instanceof NullExp; } public boolean atAny() { return atValue == null && tc == null; } public boolean atBool() { |
From: <ar...@us...> - 2003-09-02 19:57:56
|
Update of /cvsroot/nice/Nice/src/bossa/parser In directory sc8-pr-cvs1:/tmp/cvs-serv27679/F:/nice/src/bossa/parser Modified Files: Parser.jj Log Message: Store the location of every null literal and removed deprecated syntax. Index: Parser.jj =================================================================== RCS file: /cvsroot/nice/Nice/src/bossa/parser/Parser.jj,v retrieving revision 1.205 retrieving revision 1.206 diff -C2 -d -r1.205 -r1.206 *** Parser.jj 28 Aug 2003 17:46:14 -0000 1.205 --- Parser.jj 2 Sep 2003 19:57:51 -0000 1.206 *************** *** 1161,1172 **** ( "@" ! ( ! val=patternLiteral() ! { User.warning(name, ! "This syntax is deprecated.\n" + "Leave '"+ name+"@' away.");} ! | ! tc=typeIdent() ! [ ":" runtimeTC = typeConstructor() ] ! ) | "#" tc=typeIdent() { exactlyAt = true; } --- 1161,1166 ---- ( "@" ! tc=typeIdent() ! [ ":" runtimeTC = typeConstructor() ] | "#" tc=typeIdent() { exactlyAt = true; } *************** *** 1240,1255 **** { [ "<" binders=strings() ">" ] - name=identOrBackquoted() - - // Deprecated. - [ { Token t; } - t="<" binders=strings() ">" - { User.warning(Location.make(t), - "This syntax is deprecated.\n" + - "Type parameters should now be placed in front of the method implementation."); - } - ] - "(" [ p=pattern() { parameters.add(p); } --- 1234,1238 ---- *************** *** 1468,1471 **** --- 1451,1461 ---- /***********************************************************************/ + ConstantExp nullConstantExp(): + { Token t; } + { + t="null" + { return NullExp.create(Location.make(t)); } + } + ConstantExp booleanConstantExp(): { Token t; } *************** *** 2076,2080 **** } { ! ( "null" { res = NullExp.instance; } | res=booleanConstantExp() | res=intConstantExp() --- 2066,2070 ---- } { ! ( res=nullConstantExp() | res=booleanConstantExp() | res=intConstantExp() *************** *** 2093,2097 **** } { ! ( "null" { res = NullExp.instance; } | res=negativeIntConstantExp() | res=intConstantExp() --- 2083,2087 ---- } { ! ( res=nullConstantExp() | res=negativeIntConstantExp() | res=intConstantExp() |
From: <ar...@us...> - 2003-09-01 20:17:38
|
Update of /cvsroot/nice/Nice/src/nice/tools/code In directory sc8-pr-cvs1:/tmp/cvs-serv24373/F:/nice/src/nice/tools/code Modified Files: Types.java Log Message: Give a warning when comparing an expression with an literal outside of its range. Index: Types.java =================================================================== RCS file: /cvsroot/nice/Nice/src/nice/tools/code/Types.java,v retrieving revision 1.50 retrieving revision 1.51 diff -C2 -d -r1.50 -r1.51 *** Types.java 19 Jun 2003 15:32:00 -0000 1.50 --- Types.java 1 Sep 2003 20:17:31 -0000 1.51 *************** *** 622,626 **** } ! static Monotype equivalent(Monotype m) { return rawType(m).equivalent(); --- 622,626 ---- } ! public static Monotype equivalent(Monotype m) { return rawType(m).equivalent(); |
From: <ar...@us...> - 2003-09-01 20:17:38
|
Update of /cvsroot/nice/Nice/stdlib/nice/lang/inline In directory sc8-pr-cvs1:/tmp/cvs-serv24373/F:/nice/stdlib/nice/lang/inline Modified Files: CompOp.java Log Message: Give a warning when comparing an expression with an literal outside of its range. Index: CompOp.java =================================================================== RCS file: /cvsroot/nice/Nice/stdlib/nice/lang/inline/CompOp.java,v retrieving revision 1.4 retrieving revision 1.5 diff -C2 -d -r1.4 -r1.5 *** CompOp.java 21 Mar 2003 23:32:35 -0000 1.4 --- CompOp.java 1 Sep 2003 20:17:31 -0000 1.5 *************** *** 22,26 **** @author Daniel Bonniot */ ! public class CompOp extends Procedure2 implements Inlineable,Branchable { private final static int --- 22,26 ---- @author Daniel Bonniot */ ! public class CompOp extends Procedure2 implements Branchable, bossa.syntax.Macro { private final static int *************** *** 137,140 **** --- 137,166 ---- return retType; } + + public void checkSpecialRequirements(bossa.syntax.Expression[] arguments) + { + bossa.syntax.ConstantExp literalexp = null; + bossa.syntax.Expression otherexp = null; + if (arguments[0] instanceof bossa.syntax.ConstantExp && + ! (arguments[1] instanceof bossa.syntax.ConstantExp)) + { + literalexp = (bossa.syntax.ConstantExp)arguments[0]; + otherexp = arguments[1]; + } + else if (arguments[1] instanceof bossa.syntax.ConstantExp && + ! (arguments[0] instanceof bossa.syntax.ConstantExp)) + { + literalexp = (bossa.syntax.ConstantExp)arguments[1]; + otherexp = arguments[0]; + } + + if (literalexp != null) + { + mlsub.typing.TypeConstructor tc = nice.tools.code.Types.equivalent(otherexp.getType().getMonotype()).head(); + if (mlsub.typing.Typing.testRigidLeq(tc, literalexp.tc) && + ! (mlsub.typing.Typing.testRigidLeq(literalexp.tc, tc))) + bossa.util.User.warning(otherexp, "Comparing a value with a constant outside the range of that value"); + } + } // Interpretation |
From: <ar...@us...> - 2003-08-31 22:06:51
|
Update of /cvsroot/nice/Nice/stdlib/nice/lang In directory sc8-pr-cvs1:/tmp/cvs-serv4973/F:/nice/stdlib/nice/lang Modified Files: java.nice Log Message: Added retypings with a too large type for static collection that would require comparable. Index: java.nice =================================================================== RCS file: /cvsroot/nice/Nice/stdlib/nice/lang/java.nice,v retrieving revision 1.35 retrieving revision 1.36 diff -C2 -d -r1.35 -r1.36 *** java.nice 31 Aug 2003 11:33:04 -0000 1.35 --- java.nice 31 Aug 2003 22:06:47 -0000 1.36 *************** *** 337,340 **** --- 337,345 ---- native void Collections.sort(List, Comparator); + // these 3 have a too large type because they can't use comparable yet. + <T> void sort(List<!T>) = native void Collections.sort(List); + <T> !T min(Collection<!T>) = native Object Collections.min(Collection); + <T> !T max(Collection<!T>) = native Object Collections.max(Collection); + <T,U,V | U <: T, V <: T> boolean Arrays_equals(U[], V[]) = native boolean Arrays.equals(Object[],Object[]); |
From: <bo...@us...> - 2003-08-31 14:32:30
|
Update of /cvsroot/nice/Nice/debian In directory sc8-pr-cvs1:/tmp/cvs-serv18831/debian Modified Files: changelog Log Message: Fixed grammar. Index: changelog =================================================================== RCS file: /cvsroot/nice/Nice/debian/changelog,v retrieving revision 1.205 retrieving revision 1.206 diff -C2 -d -r1.205 -r1.206 *** changelog 31 Aug 2003 12:18:55 -0000 1.205 --- changelog 31 Aug 2003 14:32:26 -0000 1.206 *************** *** 18,24 **** from a to b(inclusive) where b >= a. Example usage: for (i : 1..10) println(i); ! * In local variable declarations like 'var x = exp' is the type of x infered ! to int when 'exp' is of type byte or short. This will avoid unexpected ! behaviour some cases. * Bugfixes (incrementation of byte local variables, require a default value for global variables, ...) --- 18,24 ---- from a to b(inclusive) where b >= a. Example usage: for (i : 1..10) println(i); ! * In local variable declarations like 'var x = exp', the inferred type ! for x is int when 'exp' is of type byte or short. This will avoid ! unexpected behaviour in some cases. * Bugfixes (incrementation of byte local variables, require a default value for global variables, ...) |
From: <bo...@us...> - 2003-08-31 14:31:27
|
Update of /cvsroot/nice/Nice/debian In directory sc8-pr-cvs1:/tmp/cvs-serv18696/debian Modified Files: control Log Message: Removed dependency on the old version of JavaCC. Use the new open-source version instead. It is either found on the system, or downloaded automatically. Index: control =================================================================== RCS file: /cvsroot/nice/Nice/debian/control,v retrieving revision 1.13 retrieving revision 1.14 diff -C2 -d -r1.13 -r1.14 *** control 31 Aug 2003 11:26:08 -0000 1.13 --- control 31 Aug 2003 14:31:24 -0000 1.14 *************** *** 3,7 **** Priority: optional Maintainer: Daniel Bonniot <bo...@us...> ! Build-Depends-Indep: debhelper (>> 3.0.0), jikes-classpath (>= 1:1.18) | java-compiler, kaffe (>= 1:1.1.1), groff Standards-Version: 3.6.1 --- 3,7 ---- Priority: optional Maintainer: Daniel Bonniot <bo...@us...> ! Build-Depends-Indep: debhelper (>> 3.0.0), jikes-classpath (>= 1:1.18) | java-compiler, kaffe (>= 1:1.1.1), javacc, groff Standards-Version: 3.6.1 |
From: <bo...@us...> - 2003-08-31 14:31:27
|
Update of /cvsroot/nice/Nice/external In directory sc8-pr-cvs1:/tmp/cvs-serv18696/external Modified Files: .cvsignore Added Files: javacc Log Message: Removed dependency on the old version of JavaCC. Use the new open-source version instead. It is either found on the system, or downloaded automatically. --- NEW FILE: javacc --- #! /bin/sh # Find or download a version of javacc.jar, and print it. version=javacc-3.2 jar=/usr/share/java/javacc.jar if [ -r ${jar} ]; then echo ${jar} exit fi jar=${TOP}/external/javacc.jar if [ ! -r ${jar} ]; then wget https://javacc.dev.java.net/files/documents/17/686/${version}.zip \ -O ${version}.zip ( cd external; unzip -j ../${version}.zip ${version}/bin/lib/javacc.jar; \ rm ../${version}.zip ) fi echo ${jar} Index: .cvsignore =================================================================== RCS file: /cvsroot/nice/Nice/external/.cvsignore,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** .cvsignore 16 May 2003 11:23:22 -0000 1.1 --- .cvsignore 31 Aug 2003 14:31:24 -0000 1.2 *************** *** 1 **** --- 1,2 ---- + javacc.jar nice-bootstrap.jar |
From: <bo...@us...> - 2003-08-31 14:30:14
|
Update of /cvsroot/nice/Nice In directory sc8-pr-cvs1:/tmp/cvs-serv18538 Modified Files: Makefile Log Message: Removed dependency on the old version of JavaCC. Use the new open-source version instead. It is either found on the system, or downloaded automatically. Index: Makefile =================================================================== RCS file: /cvsroot/nice/Nice/Makefile,v retrieving revision 1.126 retrieving revision 1.127 diff -C2 -d -r1.126 -r1.127 *** Makefile 31 Aug 2003 12:46:12 -0000 1.126 --- Makefile 31 Aug 2003 14:30:11 -0000 1.127 *************** *** 32,36 **** JAVAC= ${javac} -classpath "${TOP}/classes:${TOP}/classes.old" -sourcepath "${TOP}/src:${TOP}/stdlib" -d "${TOP}/classes" $(JAVAC_FLAGS) - JAVACC= CLASSPATH="${TOP}/external/JavaCC.zip:${CLASSPATH}" ${java} COM.sun.labs.javacc.Main JAVADOC=javadoc --- 32,35 ---- *************** *** 152,156 **** parser: src/bossa/parser/Parser.java src/bossa/parser/Parser.java: src/bossa/parser/Parser.jj ! cd src/bossa/parser; ${JAVACC} Parser.jj bootstrap: parser --- 151,156 ---- parser: src/bossa/parser/Parser.java src/bossa/parser/Parser.java: src/bossa/parser/Parser.jj ! cd src/bossa/parser; CLASSPATH=`${TOP}/external/javacc` \ ! TOP=${TOP} ${java} javacc Parser.jj bootstrap: parser |
From: <bo...@us...> - 2003-08-31 14:30:14
|
Update of /cvsroot/nice/Nice/external In directory sc8-pr-cvs1:/tmp/cvs-serv18538/external Removed Files: JavaCC.zip Log Message: Removed dependency on the old version of JavaCC. Use the new open-source version instead. It is either found on the system, or downloaded automatically. --- JavaCC.zip DELETED --- |
From: <gr...@us...> - 2003-08-31 13:48:27
|
Update of /cvsroot/nice/eclipse In directory sc8-pr-cvs1:/tmp/cvs-serv12985 Modified Files: build.xml Log Message: adjusting source to the changes filter method in the nice framework Index: build.xml =================================================================== RCS file: /cvsroot/nice/eclipse/build.xml,v retrieving revision 1.10 retrieving revision 1.11 diff -C2 -d -r1.10 -r1.11 *** build.xml 10 Aug 2003 16:24:30 -0000 1.10 --- build.xml 31 Aug 2003 13:48:22 -0000 1.11 *************** *** 19,23 **** <project default="dist" basedir="."> ! <property name="plugin.version" value="0.1.10"/> --- 19,23 ---- <project default="dist" basedir="."> ! <property name="plugin.version" value="0.1.11"/> |
From: <gr...@us...> - 2003-08-31 13:48:27
|
Update of /cvsroot/nice/eclipse/src/nice/eclipse/core In directory sc8-pr-cvs1:/tmp/cvs-serv12985/src/nice/eclipse/core Modified Files: NiceProject.nice Log Message: adjusting source to the changes filter method in the nice framework Index: NiceProject.nice =================================================================== RCS file: /cvsroot/nice/eclipse/src/nice/eclipse/core/NiceProject.nice,v retrieving revision 1.3 retrieving revision 1.4 diff -C2 -d -r1.3 -r1.4 *** NiceProject.nice 6 Aug 2003 13:15:27 -0000 1.3 --- NiceProject.nice 31 Aug 2003 13:48:22 -0000 1.4 *************** *** 57,61 **** let description = project.getDescription(); let commands = description.getBuildSpec(); ! let newCommands = commands.filter(ICommand c => ! c.getBuilderName().equals(builderID)); description.setBuildSpec(newCommands); project.setDescription(description, null); --- 57,61 ---- let description = project.getDescription(); let commands = description.getBuildSpec(); ! let ICommand[] newCommands = commands.filter(ICommand c => ! c.getBuilderName().equals(builderID)); description.setBuildSpec(newCommands); project.setDescription(description, null); |
From: <bo...@us...> - 2003-08-31 12:46:16
|
Update of /cvsroot/nice/Nice In directory sc8-pr-cvs1:/tmp/cvs-serv1701 Modified Files: Makefile Log Message: There are no more classes in nice.jar starting with java, as the collection classes are now retyped. Index: Makefile =================================================================== RCS file: /cvsroot/nice/Nice/Makefile,v retrieving revision 1.125 retrieving revision 1.126 diff -C2 -d -r1.125 -r1.126 *** Makefile 31 Aug 2003 09:06:52 -0000 1.125 --- Makefile 31 Aug 2003 12:46:12 -0000 1.126 *************** *** 62,66 **** mkdir -p share/java cp src/nice/tools/compiler/console.jar share/java/nice.jar ! jar umf src/nice/tools/compiler/Manifest share/java/nice.jar -C classes java -C classes nice -C classes mlsub -C classes bossa -C classes gnu -C classes.old bossa -C classes.old mlsub -C classes.old nice if [ -r classes/lang/package.nicei ]; then cd classes; jar uf ../share/java/nice.jar nice/*/package.nicei; fi --- 62,66 ---- mkdir -p share/java cp src/nice/tools/compiler/console.jar share/java/nice.jar ! jar umf src/nice/tools/compiler/Manifest share/java/nice.jar -C classes nice -C classes mlsub -C classes bossa -C classes gnu -C classes.old bossa -C classes.old mlsub -C classes.old nice if [ -r classes/lang/package.nicei ]; then cd classes; jar uf ../share/java/nice.jar nice/*/package.nicei; fi *************** *** 68,72 **** mkdir -p share/java cp src/nice/tools/compiler/console.jar share/java/nice.jar ! jar umf src/nice/tools/compiler/Manifest share/java/nice.jar -C classes java -C classes nice -C classes mlsub -C classes bossa -C classes gnu if [ -r classes/lang/package.nicei ]; then cd classes; jar uf ../share/java/nice.jar nice/*/package.nicei; fi --- 68,72 ---- mkdir -p share/java cp src/nice/tools/compiler/console.jar share/java/nice.jar ! jar umf src/nice/tools/compiler/Manifest share/java/nice.jar -C classes nice -C classes mlsub -C classes bossa -C classes gnu if [ -r classes/lang/package.nicei ]; then cd classes; jar uf ../share/java/nice.jar nice/*/package.nicei; fi |
From: <ar...@us...> - 2003-08-31 12:18:59
|
Update of /cvsroot/nice/Nice/debian In directory sc8-pr-cvs1:/tmp/cvs-serv29921/F:/nice/debian Modified Files: changelog Log Message: Updated changelog again. Index: changelog =================================================================== RCS file: /cvsroot/nice/Nice/debian/changelog,v retrieving revision 1.204 retrieving revision 1.205 diff -C2 -d -r1.204 -r1.205 *** changelog 29 Aug 2003 16:08:12 -0000 1.204 --- changelog 31 Aug 2003 12:18:55 -0000 1.205 *************** *** 14,17 **** --- 14,24 ---- * Method parameters that are not dispatched on simply get their declared type. This avoids some type errors, and simplifies error messages. + * Some more methods are added to nice.lang. + * Implemented simple range expressions. 'a..b' is an immutable list of int's + from a to b(inclusive) where b >= a. Example usage: + for (i : 1..10) println(i); + * In local variable declarations like 'var x = exp' is the type of x infered + to int when 'exp' is of type byte or short. This will avoid unexpected + behaviour some cases. * Bugfixes (incrementation of byte local variables, require a default value for global variables, ...) |