|
From: <ha...@us...> - 2008-07-28 00:14:18
|
Revision: 2101
http://cogkit.svn.sourceforge.net/cogkit/?rev=2101&view=rev
Author: hategan
Date: 2008-07-28 00:14:14 +0000 (Mon, 28 Jul 2008)
Log Message:
-----------
updated libraries
Modified Paths:
--------------
branches/karajan2/src/cog/modules/karajan2/resources/karajan-language.gr
branches/karajan2/src/cog/modules/karajan2/resources/string.class
branches/karajan2/src/cog/modules/karajan2/resources/string.java
branches/karajan2/src/cog/modules/karajan2/resources/sys.class
branches/karajan2/src/cog/modules/karajan2/resources/sys.java
branches/karajan2/src/cog/modules/karajan2/resources/sys.k
Added Paths:
-----------
branches/karajan2/src/cog/modules/karajan2/resources/list.class
branches/karajan2/src/cog/modules/karajan2/resources/list.java
branches/karajan2/src/cog/modules/karajan2/resources/list.k
Modified: branches/karajan2/src/cog/modules/karajan2/resources/karajan-language.gr
===================================================================
--- branches/karajan2/src/cog/modules/karajan2/resources/karajan-language.gr 2008-07-28 00:13:43 UTC (rev 2100)
+++ branches/karajan2/src/cog/modules/karajan2/resources/karajan-language.gr 2008-07-28 00:14:14 UTC (rev 2101)
@@ -16,23 +16,15 @@
maybeElse := else | E() ;
itemOrCommentOrNone :=
- else moreItems |
+ else moreItems |
comment moreItems |
expression moreItems |
- LITERAL(":=") IDENTIFIER("k.set") op |
- LITERAL(":") HSPACES() IDENTIFIER() HSPACES() typedecl? |
- LITERAL("=") IDENTIFIER("k.map") op |
- LITERAL("->") sigdef |
- LITERAL("...") IDENTIFIER("...") VARIABLE() moreItems |
+ LITERAL("->") sigdef |
LITERAL(".") IDENTIFIER() HSPACES() invocation SWAP() ADDCHILD() itemOrCommentOrNone |
E() ;
op := BEGINELEMENT() SWAP() HVSPACES() expression maybeElse ENDELEMENT() moreItems ;
-typedecl? :=
- LITERAL("=") IDENTIFIER("k.set") BEGINELEMENT() ROT() HVSPACES() expression ENDELEMENT() moreItems |
- IDENTIFIER("k.typedecl") BEGINELEMENT() ROT() ENDELEMENT() moreItems ;
-
/* Rather crappy this one */
sigdef :=
REMOVECHILD() IDENTIFIER("k.sig") BEGINELEMENT() ENDELEMENT() SWAP() ADDCHILD()
@@ -51,8 +43,13 @@
blockReference |
varIndirection |
LITERAL("{") block |
- IDENTIFIER() HSPACES() action HVSPACES() ;
+ IDENTIFIER() HSPACES() action HSPACES() maybeApply ;
+maybeApply :=
+ LITERAL("(") IDENTIFIER("k.apply") BEGINELEMENT() SWAP() moreItems ENDELEMENT() LITERAL(")") HSPACES() maybeApply |
+ E() ;
+
+
identifierReference := LITERAL("'") IDENTIFIER("k.vref") BEGINELEMENT() IDENTIFIER() VARIABLE() ENDELEMENT() ;
blockReference := LITERAL("&") IDENTIFIER("k.bref") BEGINELEMENT() IDENTIFIER() VARIABLE() ENDELEMENT() ;
@@ -73,11 +70,10 @@
action :=
invocation |
- LITERAL("==") VARIABLE() IDENTIFIER("==") infixop< expression endExpr> |
- LITERAL("=") TRANSLITERATE() HVSPACES() expression NAMED() |
+ LITERAL("==") VARIABLE() IDENTIFIER("==") infixop< expression endExpr> |
LITERAL("{") TRANSLITERATE() BEGINELEMENT() block ENDELEMENT() |
VARIABLE() ;
-
+
invocation :=
LITERAL("(") TRANSLITERATE() BEGINELEMENT() moreItems LITERAL(")") HVSPACES() maybeBlock ENDELEMENT() ;
@@ -106,9 +102,9 @@
comment moreExpression |
e0 moreExpression | e1 moreExpression | e2 moreExpression |
e3 moreExpression | e4 moreExpression | e5 moreExpression |
- e6 moreExpression |
+ e6 moreExpression | e7 moreExpression | e8 moreExpression |
E() ;
-
+
e0 := o0 infixop< expitem me0> ;
me0> := endExpr> ge0 ;
@@ -194,11 +190,40 @@
o5 :=
LITERAL("&") IDENTIFIER("&") ;
-e6 := o6 infixop< expression endExpr> ;
+e6 := o6 infixop< expitem me6> ;
+me6> := lt6 mlt6 endExpr> ge6 | endExpr> ge6 ;
+
+lt6 := e5 | lt5 ;
+
+mlt6 := lt6 mlt6 | E() ;
+
+ge6 := e6 | E() ;
+
o6 :=
LITERAL("|") IDENTIFIER("|") ;
+
+e7 := o7 infixop< expitem me7> ;
+me7> := lt7 mlt7 endExpr> ge7 | endExpr> ge7 ;
+
+lt7 := e6 | lt6 ;
+
+mlt7 := lt7 mlt7 | E() ;
+
+ge7 := e7 | E() ;
+
+o7 :=
+ LITERAL(":=") IDENTIFIER("k.set") |
+ LITERAL(":") IDENTIFIER("k.typedecl") ;
+
+
+e8 := o8 infixop< expression endExpr> ;
+
+o8 :=
+ LITERAL("=") IDENTIFIER("k.named") ;
+
+
endExpr> := ENDELEMENT() HVSPACES() commentOrNone ;
infixop< := TRANSLITERATE() BEGINELEMENT() SWAP() HVSPACES() ;
Property changes on: branches/karajan2/src/cog/modules/karajan2/resources/list.class
___________________________________________________________________
Added: svn:mime-type
+ application/octet-stream
Added: branches/karajan2/src/cog/modules/karajan2/resources/list.java
===================================================================
--- branches/karajan2/src/cog/modules/karajan2/resources/list.java (rev 0)
+++ branches/karajan2/src/cog/modules/karajan2/resources/list.java 2008-07-28 00:14:14 UTC (rev 2101)
@@ -0,0 +1,198 @@
+import org.globus.cog.karajan.runtime.*;
+import org.globus.cog.karajan.compiler.*;
+import org.globus.cog.karajan.compiler.types.*;
+import org.globus.cog.karajan.threading.*;
+import org.globus.cog.karajan.runtime.StdSink.StdoutSink;
+import org.globus.cog.karajan.runtime.StdSink.StderrSink;
+import java.util.Collection;
+import java.util.Iterator;
+import org.globus.cog.karajan.compiler.Compiler;
+import org.globus.cog.karajan.runtime.Signature.Positional;
+import org.globus.cog.karajan.runtime.Signature.Optional;
+import org.globus.cog.karajan.runtime.Signature.Return;
+
+
+public final class list implements Runnable {
+ public static final String __ORIGNAME = "list.k";
+ public static void main(String[] args) {
+ LWThread thread = new LWThread(new list());
+ thread.start();
+ try {
+ thread.waitFor();
+ }
+ catch (InterruptedException e) {
+ e.printStackTrace();
+ }
+ }
+
+
+ public void run() {
+ final LWThread thread = LWThread.currentThread();
+ thread.checkSlice();
+ int __state__ = thread.popState();
+ switch(__state__) {
+ case 0: //main (list:1)
+ thread.ctx = new Context(39, thread.ctx);
+ case 1: //main (list:1)
+ thread.ctx.pushChannel(1, new StdoutSink());
+ thread.ctx.pushChannel(2, new StderrSink());
+ //[butLast, last, butFirst, List?, subList, List, concat, first]
+ thread.ctx = new Context(8, thread.ctx);
+ case 2: //main (list:1)
+ k_dot_set_1_0000();
+ case 3: //main (list:1)
+ k_dot_set_2_0001();
+ case 4: //main (list:1)
+ k_dot_set_3_0002();
+ case 5: //main (list:1)
+ k_dot_set_4_0003();
+ case 6: //main (list:1)
+ k_dot_set_5_0004();
+ case 7: //main (list:1)
+ k_dot_set_6_0005();
+ case 8: //main (list:1)
+ k_dot_set_7_0006();
+ case 9: //main (list:1)
+ k_dot_set_8_0007();
+ case 10: //main (list:1)
+ // namespace (list:12)
+ k_dot_block_13_0008();
+ thread.popCtx();
+ thread.popCtx();
+ }
+ }
+
+ private void checkMismatch(int expected, int actual) throws ExecutionException {
+ if(expected != actual) {
+ throw new ExecutionException("Got " + expected + " identifier(s) and " + actual + " values");
+ }
+ }
+ // k.set (list:1)
+ private void k_dot_set_1_0000() {
+ final LWThread thread = LWThread.currentThread();
+ thread.ctx.pushChannel(0);
+ // native (list:1)
+ thread.ctx.append(0, new org.globus.cog.karajan.lib.list.Lst.Polymorphic());
+ Channel def = thread.ctx.popChannel(0);
+ thread.ctx.set(0, def.get(0));
+ }
+
+ // k.set (list:2)
+ private void k_dot_set_2_0001() {
+ final LWThread thread = LWThread.currentThread();
+ thread.ctx.pushChannel(0);
+ // native (list:2)
+ thread.ctx.append(0, new org.globus.cog.karajan.lib.list.Lst.Unknown());
+ Channel def = thread.ctx.popChannel(0);
+ thread.ctx.set(1, def.get(0));
+ }
+
+ // k.set (list:3)
+ private void k_dot_set_3_0002() {
+ final LWThread thread = LWThread.currentThread();
+ thread.ctx.pushChannel(0);
+ // native (list:3)
+ thread.ctx.append(0, new org.globus.cog.karajan.lib.list.Lst.First());
+ Channel def = thread.ctx.popChannel(0);
+ thread.ctx.set(2, def.get(0));
+ }
+
+ // k.set (list:4)
+ private void k_dot_set_4_0003() {
+ final LWThread thread = LWThread.currentThread();
+ thread.ctx.pushChannel(0);
+ // native (list:4)
+ thread.ctx.append(0, new org.globus.cog.karajan.lib.list.Lst.Last());
+ Channel def = thread.ctx.popChannel(0);
+ thread.ctx.set(3, def.get(0));
+ }
+
+ // k.set (list:5)
+ private void k_dot_set_5_0004() {
+ final LWThread thread = LWThread.currentThread();
+ thread.ctx.pushChannel(0);
+ // native (list:5)
+ thread.ctx.append(0, new org.globus.cog.karajan.lib.list.Lst.ButFirst());
+ Channel def = thread.ctx.popChannel(0);
+ thread.ctx.set(4, def.get(0));
+ }
+
+ // k.set (list:6)
+ private void k_dot_set_6_0005() {
+ final LWThread thread = LWThread.currentThread();
+ thread.ctx.pushChannel(0);
+ // native (list:6)
+ thread.ctx.append(0, new org.globus.cog.karajan.lib.list.Lst.ButLast());
+ Channel def = thread.ctx.popChannel(0);
+ thread.ctx.set(5, def.get(0));
+ }
+
+ // k.set (list:7)
+ private void k_dot_set_7_0006() {
+ final LWThread thread = LWThread.currentThread();
+ thread.ctx.pushChannel(0);
+ // native (list:7)
+ thread.ctx.append(0, new org.globus.cog.karajan.lib.list.Lst.Concat());
+ Channel def = thread.ctx.popChannel(0);
+ thread.ctx.set(6, def.get(0));
+ }
+
+ // k.set (list:8)
+ private void k_dot_set_8_0007() {
+ final LWThread thread = LWThread.currentThread();
+ thread.ctx.pushChannel(0);
+ // | (list:10)
+ thread.ctx.pushChannel(0, new AltCallable());
+ // native (list:9)
+ thread.ctx.append(0, new org.globus.cog.karajan.lib.list.Lst.SubList1());
+ // native (list:10)
+ thread.ctx.append(0, new org.globus.cog.karajan.lib.list.Lst.SubList2());
+ thread.ctx.append(0, thread.ctx.popChannel(0));
+ Channel def = thread.ctx.popChannel(0);
+ thread.ctx.set(7, def.get(0));
+ }
+
+ public static final Type TYPE = new UnionType(
+ new NamedType("List", SimpleType.Type.instance(NativeFunction.getInstance(org.globus.cog.karajan.lib.list.Lst.Polymorphic.class))),
+ new NamedType("List?", NativeFunction.getInstance(org.globus.cog.karajan.lib.list.Lst.Unknown.class)),
+ new NamedType("first", NativeFunction.getInstance(org.globus.cog.karajan.lib.list.Lst.First.class)),
+ new NamedType("last", NativeFunction.getInstance(org.globus.cog.karajan.lib.list.Lst.Last.class)),
+ new NamedType("butFirst", NativeFunction.getInstance(org.globus.cog.karajan.lib.list.Lst.ButFirst.class)),
+ new NamedType("butLast", NativeFunction.getInstance(org.globus.cog.karajan.lib.list.Lst.ButLast.class)),
+ new NamedType("concat", NativeFunction.getInstance(org.globus.cog.karajan.lib.list.Lst.Concat.class)),
+ new NamedType("subList", new AltType(
+ NativeFunction.getInstance(org.globus.cog.karajan.lib.list.Lst.SubList1.class),
+ NativeFunction.getInstance(org.globus.cog.karajan.lib.list.Lst.SubList2.class)
+ ))
+ );
+ // k.block (list:13)
+ private void k_dot_block_13_0008() {
+ final LWThread thread = LWThread.currentThread();
+ thread.checkSlice();
+ int __state__ = thread.popState();
+ switch(__state__) {
+ case 0: //k.block (list:13)
+ // export (list:14)
+ thread.ctx.getChannel(0).append(thread.ctx.get(0));
+ thread.ctx.getChannel(0).append(thread.ctx.get(1));
+ thread.ctx.getChannel(0).append(thread.ctx.get(2));
+ thread.ctx.getChannel(0).append(thread.ctx.get(3));
+ thread.ctx.getChannel(0).append(thread.ctx.get(4));
+ thread.ctx.getChannel(0).append(thread.ctx.get(5));
+ thread.ctx.getChannel(0).append(thread.ctx.get(6));
+ thread.ctx.getChannel(0).append(thread.ctx.get(7));
+ }
+ }
+
+ public static final int[] __LINE_TABLE = new int[] {
+ 34, 36, 41, 43, 45, 47, 49, 51, 53, 55, 57, 62, //run
+ 175//k_dot_block_13_0008
+ };
+ public static final int[] __STATE_TABLE = new int[] {
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, -1, //run
+ 0//k_dot_block_13_0008
+ };
+ static {
+ StateTables.register(list.class);
+ }
+}
Added: branches/karajan2/src/cog/modules/karajan2/resources/list.k
===================================================================
--- branches/karajan2/src/cog/modules/karajan2/resources/list.k (rev 0)
+++ branches/karajan2/src/cog/modules/karajan2/resources/list.k 2008-07-28 00:14:14 UTC (rev 2101)
@@ -0,0 +1,18 @@
+List := native(org.globus.cog.karajan.lib.list.Lst$Polymorphic)
+List? := native(org.globus.cog.karajan.lib.list.Lst$Unknown)
+first := native(org.globus.cog.karajan.lib.list.Lst$First)
+last := native(org.globus.cog.karajan.lib.list.Lst$Last)
+butFirst := native(org.globus.cog.karajan.lib.list.Lst$ButFirst)
+butLast := native(org.globus.cog.karajan.lib.list.Lst$ButLast)
+concat := native(org.globus.cog.karajan.lib.list.Lst$Concat)
+subList :=
+ native(org.globus.cog.karajan.lib.list.Lst$SubList1)
+ | native(org.globus.cog.karajan.lib.list.Lst$SubList2)
+
+namespace(list) {
+ export(
+ List, List?, first, last,
+ butFirst, butLast,
+ concat, subList
+ )
+}
\ No newline at end of file
Modified: branches/karajan2/src/cog/modules/karajan2/resources/string.java
===================================================================
--- branches/karajan2/src/cog/modules/karajan2/resources/string.java 2008-07-28 00:13:43 UTC (rev 2100)
+++ branches/karajan2/src/cog/modules/karajan2/resources/string.java 2008-07-28 00:14:14 UTC (rev 2101)
@@ -1,25 +1,15 @@
-import org.globus.cog.karajan.threading.LWThread;
-import org.globus.cog.karajan.threading.Yield;
-import org.globus.cog.karajan.runtime.Context;
-import org.globus.cog.karajan.runtime.Channel;
-import org.globus.cog.karajan.runtime.Exceptions;
-import org.globus.cog.karajan.runtime.Callable;
+import org.globus.cog.karajan.runtime.*;
+import org.globus.cog.karajan.compiler.*;
+import org.globus.cog.karajan.compiler.types.*;
+import org.globus.cog.karajan.threading.*;
import org.globus.cog.karajan.runtime.StdSink.StdoutSink;
import org.globus.cog.karajan.runtime.StdSink.StderrSink;
-import org.globus.cog.karajan.runtime.NVPair;
-import org.globus.cog.karajan.runtime.Arguments;
import java.util.Collection;
-import org.globus.cog.karajan.threading.StateTables;
-import org.globus.cog.karajan.threading.LWThreadDeath;
-import org.globus.cog.karajan.runtime.OrderedParallelChannel;
import java.util.Iterator;
-import org.globus.cog.karajan.runtime.LookAheadIterator;
-import org.globus.cog.karajan.runtime.ExecutionException;
-import org.globus.cog.karajan.runtime.Abort;
-import org.globus.cog.karajan.compiler.VariableNotFoundException;
-import org.globus.cog.karajan.runtime.FutureValueChannel;
-import org.globus.cog.karajan.runtime.Futures;
import org.globus.cog.karajan.compiler.Compiler;
+import org.globus.cog.karajan.runtime.Signature.Positional;
+import org.globus.cog.karajan.runtime.Signature.Optional;
+import org.globus.cog.karajan.runtime.Signature.Return;
public final class string implements Runnable {
@@ -42,7 +32,7 @@
int __state__ = thread.popState();
switch(__state__) {
case 0: //main (string:1)
- thread.ctx = new Context(33, thread.ctx);
+ thread.ctx = new Context(39, thread.ctx);
case 1: //main (string:1)
thread.ctx.pushChannel(1, new StdoutSink());
thread.ctx.pushChannel(2, new StderrSink());
@@ -83,7 +73,7 @@
}
// k.set (string:1)
private void k_dot_set_1_0000() {
- LWThread thread = LWThread.currentThread();
+ final LWThread thread = LWThread.currentThread();
thread.ctx.pushChannel(0);
// native (string:1)
thread.ctx.append(0, new org.globus.cog.karajan.lib.string.Str.Substring());
@@ -93,7 +83,7 @@
// k.set (string:3)
private void k_dot_set_3_0001() {
- LWThread thread = LWThread.currentThread();
+ final LWThread thread = LWThread.currentThread();
thread.ctx.pushChannel(0);
// native (string:3)
thread.ctx.append(0, new org.globus.cog.karajan.lib.string.Str.Concat());
@@ -103,7 +93,7 @@
// k.set (string:4)
private void k_dot_set_4_0002() {
- LWThread thread = LWThread.currentThread();
+ final LWThread thread = LWThread.currentThread();
thread.ctx.pushChannel(0);
// native (string:4)
thread.ctx.append(0, new org.globus.cog.karajan.lib.string.Str.StartsWith());
@@ -113,7 +103,7 @@
// k.set (string:5)
private void k_dot_set_5_0003() {
- LWThread thread = LWThread.currentThread();
+ final LWThread thread = LWThread.currentThread();
thread.ctx.pushChannel(0);
// native (string:5)
thread.ctx.append(0, new org.globus.cog.karajan.lib.string.Str.EndsWith());
@@ -123,7 +113,7 @@
// k.set (string:6)
private void k_dot_set_6_0004() {
- LWThread thread = LWThread.currentThread();
+ final LWThread thread = LWThread.currentThread();
thread.ctx.pushChannel(0);
// native (string:6)
thread.ctx.append(0, new org.globus.cog.karajan.lib.string.Str.IndexOf());
@@ -133,7 +123,7 @@
// k.set (string:7)
private void k_dot_set_7_0005() {
- LWThread thread = LWThread.currentThread();
+ final LWThread thread = LWThread.currentThread();
thread.ctx.pushChannel(0);
// native (string:7)
thread.ctx.append(0, new org.globus.cog.karajan.lib.string.Str.LastIndexOf());
@@ -143,7 +133,7 @@
// k.set (string:8)
private void k_dot_set_8_0006() {
- LWThread thread = LWThread.currentThread();
+ final LWThread thread = LWThread.currentThread();
thread.ctx.pushChannel(0);
// native (string:8)
thread.ctx.append(0, new org.globus.cog.karajan.lib.string.Str.Matches());
@@ -153,7 +143,7 @@
// k.set (string:10)
private void k_dot_set_10_0007() {
- LWThread thread = LWThread.currentThread();
+ final LWThread thread = LWThread.currentThread();
thread.ctx.pushChannel(0);
// native (string:10)
thread.ctx.append(0, new org.globus.cog.karajan.lib.string.Str.ToUpperCase());
@@ -163,7 +153,7 @@
// k.set (string:11)
private void k_dot_set_11_0008() {
- LWThread thread = LWThread.currentThread();
+ final LWThread thread = LWThread.currentThread();
thread.ctx.pushChannel(0);
// native (string:11)
thread.ctx.append(0, new org.globus.cog.karajan.lib.string.Str.ToLowerCase());
@@ -173,7 +163,7 @@
// k.set (string:12)
private void k_dot_set_12_0009() {
- LWThread thread = LWThread.currentThread();
+ final LWThread thread = LWThread.currentThread();
thread.ctx.pushChannel(0);
// native (string:12)
thread.ctx.append(0, new org.globus.cog.karajan.lib.string.Str.Trim());
@@ -181,6 +171,18 @@
thread.ctx.set(9, def.get(0));
}
+ public static final Type TYPE = new UnionType(
+ new NamedType("substring", NativeFunction.getInstance(org.globus.cog.karajan.lib.string.Str.Substring.class)),
+ new NamedType("concat", NativeFunction.getInstance(org.globus.cog.karajan.lib.string.Str.Concat.class)),
+ new NamedType("startsWith", NativeFunction.getInstance(org.globus.cog.karajan.lib.string.Str.StartsWith.class)),
+ new NamedType("endsWith", NativeFunction.getInstance(org.globus.cog.karajan.lib.string.Str.EndsWith.class)),
+ new NamedType("indexOf", NativeFunction.getInstance(org.globus.cog.karajan.lib.string.Str.IndexOf.class)),
+ new NamedType("lastIndexOf", NativeFunction.getInstance(org.globus.cog.karajan.lib.string.Str.LastIndexOf.class)),
+ new NamedType("matches", NativeFunction.getInstance(org.globus.cog.karajan.lib.string.Str.Matches.class)),
+ new NamedType("toUpperCase", NativeFunction.getInstance(org.globus.cog.karajan.lib.string.Str.ToUpperCase.class)),
+ new NamedType("toLowerCase", NativeFunction.getInstance(org.globus.cog.karajan.lib.string.Str.ToLowerCase.class)),
+ new NamedType("trim", NativeFunction.getInstance(org.globus.cog.karajan.lib.string.Str.Trim.class))
+ );
// k.block (string:15)
private void k_dot_block_15_0010() {
final LWThread thread = LWThread.currentThread();
@@ -203,8 +205,8 @@
}
public static final int[] __LINE_TABLE = new int[] {
- 44, 46, 51, 53, 55, 57, 59, 61, 63, 65, 67, 69, 71, 76, //run
- 190//k_dot_block_15_0010
+ 34, 36, 41, 43, 45, 47, 49, 51, 53, 55, 57, 59, 61, 66, //run
+ 193//k_dot_block_15_0010
};
public static final int[] __STATE_TABLE = new int[] {
0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, -1, //run
@@ -213,6 +215,4 @@
static {
StateTables.register(string.class);
}
- public static void __exports__() {
- }
}
Modified: branches/karajan2/src/cog/modules/karajan2/resources/sys.java
===================================================================
--- branches/karajan2/src/cog/modules/karajan2/resources/sys.java 2008-07-28 00:13:43 UTC (rev 2100)
+++ branches/karajan2/src/cog/modules/karajan2/resources/sys.java 2008-07-28 00:14:14 UTC (rev 2101)
@@ -1,25 +1,15 @@
-import org.globus.cog.karajan.threading.LWThread;
-import org.globus.cog.karajan.threading.Yield;
-import org.globus.cog.karajan.runtime.Context;
-import org.globus.cog.karajan.runtime.Channel;
-import org.globus.cog.karajan.runtime.Exceptions;
-import org.globus.cog.karajan.runtime.Callable;
+import org.globus.cog.karajan.runtime.*;
+import org.globus.cog.karajan.compiler.*;
+import org.globus.cog.karajan.compiler.types.*;
+import org.globus.cog.karajan.threading.*;
import org.globus.cog.karajan.runtime.StdSink.StdoutSink;
import org.globus.cog.karajan.runtime.StdSink.StderrSink;
-import org.globus.cog.karajan.runtime.NVPair;
-import org.globus.cog.karajan.runtime.Arguments;
import java.util.Collection;
-import org.globus.cog.karajan.threading.StateTables;
-import org.globus.cog.karajan.threading.LWThreadDeath;
-import org.globus.cog.karajan.runtime.OrderedParallelChannel;
import java.util.Iterator;
-import org.globus.cog.karajan.runtime.LookAheadIterator;
-import org.globus.cog.karajan.runtime.ExecutionException;
-import org.globus.cog.karajan.runtime.Abort;
-import org.globus.cog.karajan.compiler.VariableNotFoundException;
-import org.globus.cog.karajan.runtime.FutureValueChannel;
-import org.globus.cog.karajan.runtime.Futures;
import org.globus.cog.karajan.compiler.Compiler;
+import org.globus.cog.karajan.runtime.Signature.Positional;
+import org.globus.cog.karajan.runtime.Signature.Optional;
+import org.globus.cog.karajan.runtime.Signature.Return;
public final class sys implements Runnable {
@@ -42,12 +32,12 @@
int __state__ = thread.popState();
switch(__state__) {
case 0: //main (sys:1)
- thread.ctx = new Context(33, thread.ctx);
+ thread.ctx = new Context(39, thread.ctx);
case 1: //main (sys:1)
thread.ctx.pushChannel(1, new StdoutSink());
thread.ctx.pushChannel(2, new StderrSink());
- //[Exception, range, __times_, __fwslash_, __gt___eq_, wait, __lt___eq_, echo, print, throw, __eq___eq_, __plus_, __gt_, __lt_, __minus_]
- thread.ctx = new Context(15, thread.ctx);
+ //[Exception, range, __times_, __fwslash_, __gt___eq_, wait, __lt___eq_, echo, print, throw, __eq___eq_, __plus_, __gt_, __bang___eq_, __lt_, __minus_]
+ thread.ctx = new Context(16, thread.ctx);
case 2: //main (sys:1)
k_dot_set_1_0000();
case 3: //main (sys:1)
@@ -61,26 +51,28 @@
case 7: //main (sys:1)
k_dot_set_6_0005();
case 8: //main (sys:1)
- k_dot_set_9_0006();
+ k_dot_set_8_0006();
case 9: //main (sys:1)
- k_dot_set_13_0007();
+ k_dot_set_11_0007();
case 10: //main (sys:1)
- k_dot_set_16_0008();
+ k_dot_set_15_0008();
case 11: //main (sys:1)
- k_dot_set_20_0009();
+ k_dot_set_18_0009();
case 12: //main (sys:1)
- k_dot_set_25_0010();
+ k_dot_set_22_0010();
case 13: //main (sys:1)
- k_dot_set_29_0011();
+ k_dot_set_27_0011();
case 14: //main (sys:1)
- k_dot_set_33_0012();
+ k_dot_set_31_0012();
case 15: //main (sys:1)
- k_dot_set_37_0013();
+ k_dot_set_35_0013();
case 16: //main (sys:1)
- k_dot_set_38_0014();
+ k_dot_set_39_0014();
case 17: //main (sys:1)
- // namespace (sys:41)
- k_dot_block_42_0015();
+ k_dot_set_40_0015();
+ case 18: //main (sys:1)
+ // namespace (sys:42)
+ k_dot_block_43_0016();
thread.popCtx();
thread.popCtx();
}
@@ -93,7 +85,7 @@
}
// k.set (sys:1)
private void k_dot_set_1_0000() {
- LWThread thread = LWThread.currentThread();
+ final LWThread thread = LWThread.currentThread();
thread.ctx.pushChannel(0);
// native (sys:1)
thread.ctx.append(0, new org.globus.cog.karajan.lib.sys.Echo());
@@ -103,7 +95,7 @@
// k.set (sys:2)
private void k_dot_set_2_0001() {
- LWThread thread = LWThread.currentThread();
+ final LWThread thread = LWThread.currentThread();
thread.ctx.pushChannel(0);
// native (sys:2)
thread.ctx.append(0, new org.globus.cog.karajan.lib.sys.Print());
@@ -113,7 +105,7 @@
// k.set (sys:3)
private void k_dot_set_3_0002() {
- LWThread thread = LWThread.currentThread();
+ final LWThread thread = LWThread.currentThread();
thread.ctx.pushChannel(0);
// native (sys:3)
thread.ctx.append(0, new org.globus.cog.karajan.lib.sys.Range());
@@ -123,7 +115,7 @@
// k.set (sys:4)
private void k_dot_set_4_0003() {
- LWThread thread = LWThread.currentThread();
+ final LWThread thread = LWThread.currentThread();
thread.ctx.pushChannel(0);
// native (sys:4)
thread.ctx.append(0, new org.globus.cog.karajan.lib.sys.Wait());
@@ -133,7 +125,7 @@
// k.set (sys:5)
private void k_dot_set_5_0004() {
- LWThread thread = LWThread.currentThread();
+ final LWThread thread = LWThread.currentThread();
thread.ctx.pushChannel(0);
// native (sys:5)
thread.ctx.append(0, new org.globus.cog.karajan.lib.sys.Equals());
@@ -143,188 +135,240 @@
// k.set (sys:6)
private void k_dot_set_6_0005() {
- LWThread thread = LWThread.currentThread();
+ final LWThread thread = LWThread.currentThread();
thread.ctx.pushChannel(0);
- // | (sys:8)
+ // native (sys:6)
+ thread.ctx.append(0, new org.globus.cog.karajan.lib.sys.NotEquals());
+ Channel def = thread.ctx.popChannel(0);
+ thread.ctx.set(5, def.get(0));
+ }
+
+ // k.set (sys:8)
+ private void k_dot_set_8_0006() {
+ final LWThread thread = LWThread.currentThread();
thread.ctx.pushChannel(0);
- // native (sys:7)
+ // | (sys:10)
+ thread.ctx.pushChannel(0, new AltCallable());
+ // native (sys:9)
thread.ctx.append(0, new org.globus.cog.karajan.lib.sys.GreaterThan.Real());
- // native (sys:8)
+ // native (sys:10)
thread.ctx.append(0, new org.globus.cog.karajan.lib.sys.GreaterThan.Integer());
thread.ctx.append(0, thread.ctx.popChannel(0));
Channel def = thread.ctx.popChannel(0);
- thread.ctx.set(5, def.get(0));
+ thread.ctx.set(6, def.get(0));
}
- // k.set (sys:9)
- private void k_dot_set_9_0006() {
- LWThread thread = LWThread.currentThread();
+ // k.set (sys:11)
+ private void k_dot_set_11_0007() {
+ final LWThread thread = LWThread.currentThread();
thread.ctx.pushChannel(0);
- // | (sys:11)
- thread.ctx.pushChannel(0);
- // native (sys:10)
+ // | (sys:13)
+ thread.ctx.pushChannel(0, new AltCallable());
+ // native (sys:12)
thread.ctx.append(0, new org.globus.cog.karajan.lib.sys.LessThan.Real());
- // native (sys:11)
+ // native (sys:13)
thread.ctx.append(0, new org.globus.cog.karajan.lib.sys.LessThan.Integer());
thread.ctx.append(0, thread.ctx.popChannel(0));
Channel def = thread.ctx.popChannel(0);
- thread.ctx.set(6, def.get(0));
+ thread.ctx.set(7, def.get(0));
}
- // k.set (sys:13)
- private void k_dot_set_13_0007() {
- LWThread thread = LWThread.currentThread();
+ // k.set (sys:15)
+ private void k_dot_set_15_0008() {
+ final LWThread thread = LWThread.currentThread();
thread.ctx.pushChannel(0);
- // | (sys:15)
- thread.ctx.pushChannel(0);
- // native (sys:14)
+ // | (sys:17)
+ thread.ctx.pushChannel(0, new AltCallable());
+ // native (sys:16)
thread.ctx.append(0, new org.globus.cog.karajan.lib.sys.GreaterOrEqual.Real());
- // native (sys:15)
+ // native (sys:17)
thread.ctx.append(0, new org.globus.cog.karajan.lib.sys.GreaterOrEqual.Integer());
thread.ctx.append(0, thread.ctx.popChannel(0));
Channel def = thread.ctx.popChannel(0);
- thread.ctx.set(7, def.get(0));
+ thread.ctx.set(8, def.get(0));
}
- // k.set (sys:16)
- private void k_dot_set_16_0008() {
- LWThread thread = LWThread.currentThread();
+ // k.set (sys:18)
+ private void k_dot_set_18_0009() {
+ final LWThread thread = LWThread.currentThread();
thread.ctx.pushChannel(0);
- // | (sys:18)
- thread.ctx.pushChannel(0);
- // native (sys:17)
+ // | (sys:20)
+ thread.ctx.pushChannel(0, new AltCallable());
+ // native (sys:19)
thread.ctx.append(0, new org.globus.cog.karajan.lib.sys.LessOrEqual.Real());
- // native (sys:18)
+ // native (sys:20)
thread.ctx.append(0, new org.globus.cog.karajan.lib.sys.LessOrEqual.Integer());
thread.ctx.append(0, thread.ctx.popChannel(0));
Channel def = thread.ctx.popChannel(0);
- thread.ctx.set(8, def.get(0));
+ thread.ctx.set(9, def.get(0));
}
- // k.set (sys:20)
- private void k_dot_set_20_0009() {
- LWThread thread = LWThread.currentThread();
+ // k.set (sys:22)
+ private void k_dot_set_22_0010() {
+ final LWThread thread = LWThread.currentThread();
thread.ctx.pushChannel(0);
- // | (sys:22)
+ // | (sys:25)
+ thread.ctx.pushChannel(0, new AltCallable());
+ // native (sys:25)
+ thread.ctx.append(0, new org.globus.cog.karajan.lib.sys.Plus.String());
thread.ctx.pushChannel(0);
- // native (sys:21)
+ // | (sys:24)
+ thread.ctx.pushChannel(0, new AltCallable());
+ // native (sys:23)
thread.ctx.append(0, new org.globus.cog.karajan.lib.sys.Plus.Real());
- thread.ctx.pushChannel(0);
- // | (sys:23)
- thread.ctx.pushChannel(0);
- // native (sys:22)
+ // native (sys:24)
thread.ctx.append(0, new org.globus.cog.karajan.lib.sys.Plus.Integer());
- // native (sys:23)
- thread.ctx.append(0, new org.globus.cog.karajan.lib.sys.Plus.String());
thread.ctx.append(0, thread.ctx.popChannel(0));
thread.ctx.appendAll(0, (Channel) ((Channel) thread.ctx.popChannel(0)).get(0));
thread.ctx.append(0, thread.ctx.popChannel(0));
Channel def = thread.ctx.popChannel(0);
- thread.ctx.set(9, def.get(0));
+ thread.ctx.set(10, def.get(0));
}
- // k.set (sys:25)
- private void k_dot_set_25_0010() {
- LWThread thread = LWThread.currentThread();
+ // k.set (sys:27)
+ private void k_dot_set_27_0011() {
+ final LWThread thread = LWThread.currentThread();
thread.ctx.pushChannel(0);
- // | (sys:27)
- thread.ctx.pushChannel(0);
- // native (sys:26)
+ // | (sys:29)
+ thread.ctx.pushChannel(0, new AltCallable());
+ // native (sys:28)
thread.ctx.append(0, new org.globus.cog.karajan.lib.sys.Minus.Real());
- // native (sys:27)
+ // native (sys:29)
thread.ctx.append(0, new org.globus.cog.karajan.lib.sys.Minus.Integer());
thread.ctx.append(0, thread.ctx.popChannel(0));
Channel def = thread.ctx.popChannel(0);
- thread.ctx.set(10, def.get(0));
+ thread.ctx.set(11, def.get(0));
}
- // k.set (sys:29)
- private void k_dot_set_29_0011() {
- LWThread thread = LWThread.currentThread();
+ // k.set (sys:31)
+ private void k_dot_set_31_0012() {
+ final LWThread thread = LWThread.currentThread();
thread.ctx.pushChannel(0);
- // | (sys:31)
- thread.ctx.pushChannel(0);
- // native (sys:30)
+ // | (sys:33)
+ thread.ctx.pushChannel(0, new AltCallable());
+ // native (sys:32)
thread.ctx.append(0, new org.globus.cog.karajan.lib.sys.Times.Integer());
- // native (sys:31)
+ // native (sys:33)
thread.ctx.append(0, new org.globus.cog.karajan.lib.sys.Times.Real());
thread.ctx.append(0, thread.ctx.popChannel(0));
Channel def = thread.ctx.popChannel(0);
- thread.ctx.set(11, def.get(0));
+ thread.ctx.set(12, def.get(0));
}
- // k.set (sys:33)
- private void k_dot_set_33_0012() {
- LWThread thread = LWThread.currentThread();
+ // k.set (sys:35)
+ private void k_dot_set_35_0013() {
+ final LWThread thread = LWThread.currentThread();
thread.ctx.pushChannel(0);
- // | (sys:35)
- thread.ctx.pushChannel(0);
- // native (sys:34)
+ // | (sys:37)
+ thread.ctx.pushChannel(0, new AltCallable());
+ // native (sys:36)
thread.ctx.append(0, new org.globus.cog.karajan.lib.sys.Div.Integer());
- // native (sys:35)
+ // native (sys:37)
thread.ctx.append(0, new org.globus.cog.karajan.lib.sys.Div.Real());
thread.ctx.append(0, thread.ctx.popChannel(0));
Channel def = thread.ctx.popChannel(0);
- thread.ctx.set(12, def.get(0));
+ thread.ctx.set(13, def.get(0));
}
- // k.set (sys:37)
- private void k_dot_set_37_0013() {
- LWThread thread = LWThread.currentThread();
+ // k.set (sys:39)
+ private void k_dot_set_39_0014() {
+ final LWThread thread = LWThread.currentThread();
thread.ctx.pushChannel(0);
- // native (sys:37)
+ // native (sys:39)
thread.ctx.append(0, new org.globus.cog.karajan.lib.sys.Throw());
Channel def = thread.ctx.popChannel(0);
- thread.ctx.set(13, def.get(0));
+ thread.ctx.set(14, def.get(0));
}
- // k.set (sys:38)
- private void k_dot_set_38_0014() {
- LWThread thread = LWThread.currentThread();
+ // k.set (sys:40)
+ private void k_dot_set_40_0015() {
+ final LWThread thread = LWThread.currentThread();
thread.ctx.pushChannel(0);
- // native (sys:38)
+ // native (sys:40)
thread.ctx.append(0, new org.globus.cog.karajan.lib.sys.KException());
Channel def = thread.ctx.popChannel(0);
- thread.ctx.set(14, def.get(0));
+ thread.ctx.set(15, def.get(0));
}
- // k.block (sys:42)
- private void k_dot_block_42_0015() {
+ public static final Type TYPE = new UnionType(
+ new NamedType("echo", NativeFunction.getInstance(org.globus.cog.karajan.lib.sys.Echo.class)),
+ new NamedType("print", NativeFunction.getInstance(org.globus.cog.karajan.lib.sys.Print.class)),
+ new NamedType("range", NativeFunction.getInstance(org.globus.cog.karajan.lib.sys.Range.class)),
+ new NamedType("wait", NativeFunction.getInstance(org.globus.cog.karajan.lib.sys.Wait.class)),
+ new NamedType("__eq___eq_", NativeFunction.getInstance(org.globus.cog.karajan.lib.sys.Equals.class)),
+ new NamedType("__bang___eq_", NativeFunction.getInstance(org.globus.cog.karajan.lib.sys.NotEquals.class)),
+ new NamedType("__lt_", new AltType(
+ NativeFunction.getInstance(org.globus.cog.karajan.lib.sys.LessThan.Real.class),
+ NativeFunction.getInstance(org.globus.cog.karajan.lib.sys.LessThan.Integer.class)
+ )),
+ new NamedType("__gt_", new AltType(
+ NativeFunction.getInstance(org.globus.cog.karajan.lib.sys.GreaterThan.Real.class),
+ NativeFunction.getInstance(org.globus.cog.karajan.lib.sys.GreaterThan.Integer.class)
+ )),
+ new NamedType("__lt___eq_", new AltType(
+ NativeFunction.getInstance(org.globus.cog.karajan.lib.sys.LessOrEqual.Real.class),
+ NativeFunction.getInstance(org.globus.cog.karajan.lib.sys.LessOrEqual.Integer.class)
+ )),
+ new NamedType("__gt___eq_", new AltType(
+ NativeFunction.getInstance(org.globus.cog.karajan.lib.sys.GreaterOrEqual.Real.class),
+ NativeFunction.getInstance(org.globus.cog.karajan.lib.sys.GreaterOrEqual.Integer.class)
+ )),
+ new NamedType("__plus_", new AltType(
+ NativeFunction.getInstance(org.globus.cog.karajan.lib.sys.Plus.String.class),
+ NativeFunction.getInstance(org.globus.cog.karajan.lib.sys.Plus.Real.class),
+ NativeFunction.getInstance(org.globus.cog.karajan.lib.sys.Plus.Integer.class)
+ )),
+ new NamedType("__minus_", new AltType(
+ NativeFunction.getInstance(org.globus.cog.karajan.lib.sys.Minus.Real.class),
+ NativeFunction.getInstance(org.globus.cog.karajan.lib.sys.Minus.Integer.class)
+ )),
+ new NamedType("__times_", new AltType(
+ NativeFunction.getInstance(org.globus.cog.karajan.lib.sys.Times.Integer.class),
+ NativeFunction.getInstance(org.globus.cog.karajan.lib.sys.Times.Real.class)
+ )),
+ new NamedType("__fwslash_", new AltType(
+ NativeFunction.getInstance(org.globus.cog.karajan.lib.sys.Div.Integer.class),
+ NativeFunction.getInstance(org.globus.cog.karajan.lib.sys.Div.Real.class)
+ )),
+ new NamedType("throw", NativeFunction.getInstance(org.globus.cog.karajan.lib.sys.Throw.class)),
+ new NamedType("Exception", SimpleType.Type.instance(NativeFunction.getInstance(org.globus.cog.karajan.lib.sys.KException.class)))
+ );
+ // k.block (sys:43)
+ private void k_dot_block_43_0016() {
final LWThread thread = LWThread.currentThread();
thread.checkSlice();
int __state__ = thread.popState();
switch(__state__) {
- case 0: //k.block (sys:42)
- // export (sys:43)
+ case 0: //k.block (sys:43)
+ // export (sys:44)
thread.ctx.getChannel(0).append(thread.ctx.get(0));
thread.ctx.getChannel(0).append(thread.ctx.get(1));
thread.ctx.getChannel(0).append(thread.ctx.get(2));
thread.ctx.getChannel(0).append(thread.ctx.get(3));
thread.ctx.getChannel(0).append(thread.ctx.get(4));
- thread.ctx.getChannel(0).append(thread.ctx.get(6));
thread.ctx.getChannel(0).append(thread.ctx.get(5));
- thread.ctx.getChannel(0).append(thread.ctx.get(8));
thread.ctx.getChannel(0).append(thread.ctx.get(7));
+ thread.ctx.getChannel(0).append(thread.ctx.get(6));
thread.ctx.getChannel(0).append(thread.ctx.get(9));
+ thread.ctx.getChannel(0).append(thread.ctx.get(8));
thread.ctx.getChannel(0).append(thread.ctx.get(10));
thread.ctx.getChannel(0).append(thread.ctx.get(11));
thread.ctx.getChannel(0).append(thread.ctx.get(12));
thread.ctx.getChannel(0).append(thread.ctx.get(13));
thread.ctx.getChannel(0).append(thread.ctx.get(14));
+ thread.ctx.getChannel(0).append(thread.ctx.get(15));
}
}
public static final int[] __LINE_TABLE = new int[] {
- 44, 46, 51, 53, 55, 57, 59, 61, 63, 65, 67, 69, 71, 73, 75, 77, 79, 81, 86, //run
- 297//k_dot_block_42_0015
+ 34, 36, 41, 43, 45, 47, 49, 51, 53, 55, 57, 59, 61, 63, 65, 67, 69, 71, 73, 78, //run
+ 343//k_dot_block_43_0016
};
public static final int[] __STATE_TABLE = new int[] {
- 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, -1, //run
- 0//k_dot_block_42_0015
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, -1, //run
+ 0//k_dot_block_43_0016
};
static {
StateTables.register(sys.class);
}
- public static void __exports__() {
- }
}
Modified: branches/karajan2/src/cog/modules/karajan2/resources/sys.k
===================================================================
--- branches/karajan2/src/cog/modules/karajan2/resources/sys.k 2008-07-28 00:13:43 UTC (rev 2100)
+++ branches/karajan2/src/cog/modules/karajan2/resources/sys.k 2008-07-28 00:14:14 UTC (rev 2101)
@@ -3,6 +3,8 @@
range := native(org.globus.cog.karajan.lib.sys.Range)
wait := native(org.globus.cog.karajan.lib.sys.Wait)
__eq___eq_ := native(org.globus.cog.karajan.lib.sys.Equals)
+__bang___eq_ := native(org.globus.cog.karajan.lib.sys.NotEquals)
+
__gt_ :=
native(org.globus.cog.karajan.lib.sys.GreaterThan$Real)
| native(org.globus.cog.karajan.lib.sys.GreaterThan$Integer)
@@ -37,11 +39,10 @@
throw := native(org.globus.cog.karajan.lib.sys.Throw)
Exception := native(org.globus.cog.karajan.lib.sys.KException)
-
namespace(sys) {
export(
echo, print, range, wait,
- __eq___eq_, __lt_, __gt_, __lt___eq_, __gt___eq_,
+ __eq___eq_, __bang___eq_, __lt_, __gt_, __lt___eq_, __gt___eq_,
__plus_, __minus_, __times_, __fwslash_,
throw, Exception
)
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|