annotate src/parallel_execution/tmp_tool/parse_cerate_each_context.pl @ 570:1233236c244d

autogen DetaGears
author anatofuz <anatofuz@cr.ie.u-ryukyu.ac.jp>
date Sun, 24 Nov 2019 22:54:35 +0900
parents 077158ea026c
children d9c3bccaa13c
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
568
840597c5d242 add_parse_create_each_context.pl
anatofuz <anatofuz@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1 #!/usr/bin/env perl
840597c5d242 add_parse_create_each_context.pl
anatofuz <anatofuz@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2 use strict;
840597c5d242 add_parse_create_each_context.pl
anatofuz <anatofuz@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
3 use warnings;
840597c5d242 add_parse_create_each_context.pl
anatofuz <anatofuz@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
4 use DDP {deparse => 1};
840597c5d242 add_parse_create_each_context.pl
anatofuz <anatofuz@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
5
570
1233236c244d autogen DetaGears
anatofuz <anatofuz@cr.ie.u-ryukyu.ac.jp>
parents: 569
diff changeset
6 my @already_defined = qw/
1233236c244d autogen DetaGears
anatofuz <anatofuz@cr.ie.u-ryukyu.ac.jp>
parents: 569
diff changeset
7 Atomic
1233236c244d autogen DetaGears
anatofuz <anatofuz@cr.ie.u-ryukyu.ac.jp>
parents: 569
diff changeset
8 Buffer
1233236c244d autogen DetaGears
anatofuz <anatofuz@cr.ie.u-ryukyu.ac.jp>
parents: 569
diff changeset
9 CodeGear
1233236c244d autogen DetaGears
anatofuz <anatofuz@cr.ie.u-ryukyu.ac.jp>
parents: 569
diff changeset
10 Executor
1233236c244d autogen DetaGears
anatofuz <anatofuz@cr.ie.u-ryukyu.ac.jp>
parents: 569
diff changeset
11 Iterator
1233236c244d autogen DetaGears
anatofuz <anatofuz@cr.ie.u-ryukyu.ac.jp>
parents: 569
diff changeset
12 Lock
1233236c244d autogen DetaGears
anatofuz <anatofuz@cr.ie.u-ryukyu.ac.jp>
parents: 569
diff changeset
13 Queue
1233236c244d autogen DetaGears
anatofuz <anatofuz@cr.ie.u-ryukyu.ac.jp>
parents: 569
diff changeset
14 Semaphore
1233236c244d autogen DetaGears
anatofuz <anatofuz@cr.ie.u-ryukyu.ac.jp>
parents: 569
diff changeset
15 Stack
1233236c244d autogen DetaGears
anatofuz <anatofuz@cr.ie.u-ryukyu.ac.jp>
parents: 569
diff changeset
16 TaskManager
1233236c244d autogen DetaGears
anatofuz <anatofuz@cr.ie.u-ryukyu.ac.jp>
parents: 569
diff changeset
17 Timer
1233236c244d autogen DetaGears
anatofuz <anatofuz@cr.ie.u-ryukyu.ac.jp>
parents: 569
diff changeset
18 Tree
1233236c244d autogen DetaGears
anatofuz <anatofuz@cr.ie.u-ryukyu.ac.jp>
parents: 569
diff changeset
19 Worker
1233236c244d autogen DetaGears
anatofuz <anatofuz@cr.ie.u-ryukyu.ac.jp>
parents: 569
diff changeset
20 SingleLinkedStack
1233236c244d autogen DetaGears
anatofuz <anatofuz@cr.ie.u-ryukyu.ac.jp>
parents: 569
diff changeset
21 SortArray
1233236c244d autogen DetaGears
anatofuz <anatofuz@cr.ie.u-ryukyu.ac.jp>
parents: 569
diff changeset
22 /;
1233236c244d autogen DetaGears
anatofuz <anatofuz@cr.ie.u-ryukyu.ac.jp>
parents: 569
diff changeset
23
1233236c244d autogen DetaGears
anatofuz <anatofuz@cr.ie.u-ryukyu.ac.jp>
parents: 569
diff changeset
24 my %already_defined_hash;
1233236c244d autogen DetaGears
anatofuz <anatofuz@cr.ie.u-ryukyu.ac.jp>
parents: 569
diff changeset
25 map { $already_defined_hash{$_}++ } @already_defined;
1233236c244d autogen DetaGears
anatofuz <anatofuz@cr.ie.u-ryukyu.ac.jp>
parents: 569
diff changeset
26
568
840597c5d242 add_parse_create_each_context.pl
anatofuz <anatofuz@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
27 my $context = shift // "context.h";
840597c5d242 add_parse_create_each_context.pl
anatofuz <anatofuz@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
28
569
anatofuz <anatofuz@cr.ie.u-ryukyu.ac.jp>
parents: 568
diff changeset
29 open my $fh, '<', $context;
568
840597c5d242 add_parse_create_each_context.pl
anatofuz <anatofuz@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
30 while (my $line = <$fh>) {
840597c5d242 add_parse_create_each_context.pl
anatofuz <anatofuz@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
31 if ($line =~ /^union Data \{/) {
840597c5d242 add_parse_create_each_context.pl
anatofuz <anatofuz@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
32 last;
840597c5d242 add_parse_create_each_context.pl
anatofuz <anatofuz@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
33 }
840597c5d242 add_parse_create_each_context.pl
anatofuz <anatofuz@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
34 }
840597c5d242 add_parse_create_each_context.pl
anatofuz <anatofuz@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
35
840597c5d242 add_parse_create_each_context.pl
anatofuz <anatofuz@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
36 my @context_cg_str = <$fh>;
840597c5d242 add_parse_create_each_context.pl
anatofuz <anatofuz@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
37 close($fh);
840597c5d242 add_parse_create_each_context.pl
anatofuz <anatofuz@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
38 chomp @context_cg_str;
840597c5d242 add_parse_create_each_context.pl
anatofuz <anatofuz@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
39 my $res = {};
840597c5d242 add_parse_create_each_context.pl
anatofuz <anatofuz@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
40
840597c5d242 add_parse_create_each_context.pl
anatofuz <anatofuz@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
41 while (my $line = shift @context_cg_str) {
840597c5d242 add_parse_create_each_context.pl
anatofuz <anatofuz@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
42 if ($line =~ /\s*struct\s*(\w+)\s*\{/) {
840597c5d242 add_parse_create_each_context.pl
anatofuz <anatofuz@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
43 my $struct = $1;
570
1233236c244d autogen DetaGears
anatofuz <anatofuz@cr.ie.u-ryukyu.ac.jp>
parents: 569
diff changeset
44 if (exists $already_defined_hash{$struct}) {
1233236c244d autogen DetaGears
anatofuz <anatofuz@cr.ie.u-ryukyu.ac.jp>
parents: 569
diff changeset
45 next;
1233236c244d autogen DetaGears
anatofuz <anatofuz@cr.ie.u-ryukyu.ac.jp>
parents: 569
diff changeset
46 }
568
840597c5d242 add_parse_create_each_context.pl
anatofuz <anatofuz@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
47 $line = shift @context_cg_str;
840597c5d242 add_parse_create_each_context.pl
anatofuz <anatofuz@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
48 while ($line !~ /\}\s*$struct/) {
569
anatofuz <anatofuz@cr.ie.u-ryukyu.ac.jp>
parents: 568
diff changeset
49 $line =~ s/\s+([\*\w ]+);/$1/;
anatofuz <anatofuz@cr.ie.u-ryukyu.ac.jp>
parents: 568
diff changeset
50 push (@{$res->{$struct}},$line);
568
840597c5d242 add_parse_create_each_context.pl
anatofuz <anatofuz@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
51 $line = shift @context_cg_str ;
840597c5d242 add_parse_create_each_context.pl
anatofuz <anatofuz@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
52 }
570
1233236c244d autogen DetaGears
anatofuz <anatofuz@cr.ie.u-ryukyu.ac.jp>
parents: 569
diff changeset
53 unless (defined $res->{$struct}) {
1233236c244d autogen DetaGears
anatofuz <anatofuz@cr.ie.u-ryukyu.ac.jp>
parents: 569
diff changeset
54 push (@{$res->{$struct}},"");
1233236c244d autogen DetaGears
anatofuz <anatofuz@cr.ie.u-ryukyu.ac.jp>
parents: 569
diff changeset
55 }
568
840597c5d242 add_parse_create_each_context.pl
anatofuz <anatofuz@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
56 }
840597c5d242 add_parse_create_each_context.pl
anatofuz <anatofuz@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
57 }
570
1233236c244d autogen DetaGears
anatofuz <anatofuz@cr.ie.u-ryukyu.ac.jp>
parents: 569
diff changeset
58
1233236c244d autogen DetaGears
anatofuz <anatofuz@cr.ie.u-ryukyu.ac.jp>
parents: 569
diff changeset
59 map { print "$_\n" } keys %$res;
1233236c244d autogen DetaGears
anatofuz <anatofuz@cr.ie.u-ryukyu.ac.jp>
parents: 569
diff changeset
60 my %impl2inter = (
1233236c244d autogen DetaGears
anatofuz <anatofuz@cr.ie.u-ryukyu.ac.jp>
parents: 569
diff changeset
61 SpinLock => "Lock",
1233236c244d autogen DetaGears
anatofuz <anatofuz@cr.ie.u-ryukyu.ac.jp>
parents: 569
diff changeset
62 CUDAWorker => "Worker",
1233236c244d autogen DetaGears
anatofuz <anatofuz@cr.ie.u-ryukyu.ac.jp>
parents: 569
diff changeset
63 RedBlackTree => "Tree",
1233236c244d autogen DetaGears
anatofuz <anatofuz@cr.ie.u-ryukyu.ac.jp>
parents: 569
diff changeset
64 AtomicReference => "Atomic",
1233236c244d autogen DetaGears
anatofuz <anatofuz@cr.ie.u-ryukyu.ac.jp>
parents: 569
diff changeset
65 CPUWoker => "Woker",
1233236c244d autogen DetaGears
anatofuz <anatofuz@cr.ie.u-ryukyu.ac.jp>
parents: 569
diff changeset
66 MultiDimIterator => "Iterator",
1233236c244d autogen DetaGears
anatofuz <anatofuz@cr.ie.u-ryukyu.ac.jp>
parents: 569
diff changeset
67 CUDAExecutor => "Executor",
1233236c244d autogen DetaGears
anatofuz <anatofuz@cr.ie.u-ryukyu.ac.jp>
parents: 569
diff changeset
68 SingleLinkedStack => "Stack",
1233236c244d autogen DetaGears
anatofuz <anatofuz@cr.ie.u-ryukyu.ac.jp>
parents: 569
diff changeset
69 SingleLinkedQueue => "Queue",
1233236c244d autogen DetaGears
anatofuz <anatofuz@cr.ie.u-ryukyu.ac.jp>
parents: 569
diff changeset
70 SynchronizedQueue => "Queue",
1233236c244d autogen DetaGears
anatofuz <anatofuz@cr.ie.u-ryukyu.ac.jp>
parents: 569
diff changeset
71 );
1233236c244d autogen DetaGears
anatofuz <anatofuz@cr.ie.u-ryukyu.ac.jp>
parents: 569
diff changeset
72
1233236c244d autogen DetaGears
anatofuz <anatofuz@cr.ie.u-ryukyu.ac.jp>
parents: 569
diff changeset
73 for my $dg_name (keys %$res) {
1233236c244d autogen DetaGears
anatofuz <anatofuz@cr.ie.u-ryukyu.ac.jp>
parents: 569
diff changeset
74 if ($dg_name =~ /(\w+)Impl/) {
1233236c244d autogen DetaGears
anatofuz <anatofuz@cr.ie.u-ryukyu.ac.jp>
parents: 569
diff changeset
75 create_impl_file($dg_name,$res->{$dg_name},$1);
1233236c244d autogen DetaGears
anatofuz <anatofuz@cr.ie.u-ryukyu.ac.jp>
parents: 569
diff changeset
76 next;
1233236c244d autogen DetaGears
anatofuz <anatofuz@cr.ie.u-ryukyu.ac.jp>
parents: 569
diff changeset
77 }
1233236c244d autogen DetaGears
anatofuz <anatofuz@cr.ie.u-ryukyu.ac.jp>
parents: 569
diff changeset
78
1233236c244d autogen DetaGears
anatofuz <anatofuz@cr.ie.u-ryukyu.ac.jp>
parents: 569
diff changeset
79 if (exists $impl2inter{$dg_name}) {
1233236c244d autogen DetaGears
anatofuz <anatofuz@cr.ie.u-ryukyu.ac.jp>
parents: 569
diff changeset
80 create_impl_file($dg_name,$res->{$dg_name},$impl2inter{$dg_name});
1233236c244d autogen DetaGears
anatofuz <anatofuz@cr.ie.u-ryukyu.ac.jp>
parents: 569
diff changeset
81 next;
1233236c244d autogen DetaGears
anatofuz <anatofuz@cr.ie.u-ryukyu.ac.jp>
parents: 569
diff changeset
82 }
1233236c244d autogen DetaGears
anatofuz <anatofuz@cr.ie.u-ryukyu.ac.jp>
parents: 569
diff changeset
83 create_inter_file($dg_name,$res->{$dg_name});
1233236c244d autogen DetaGears
anatofuz <anatofuz@cr.ie.u-ryukyu.ac.jp>
parents: 569
diff changeset
84 }
1233236c244d autogen DetaGears
anatofuz <anatofuz@cr.ie.u-ryukyu.ac.jp>
parents: 569
diff changeset
85
1233236c244d autogen DetaGears
anatofuz <anatofuz@cr.ie.u-ryukyu.ac.jp>
parents: 569
diff changeset
86 sub create_impl_file {
1233236c244d autogen DetaGears
anatofuz <anatofuz@cr.ie.u-ryukyu.ac.jp>
parents: 569
diff changeset
87 my ($name, $contents,$interface) = @_;
1233236c244d autogen DetaGears
anatofuz <anatofuz@cr.ie.u-ryukyu.ac.jp>
parents: 569
diff changeset
88 my $str = "typedef struct $name <Type, Isa> impl $interface {\n";
1233236c244d autogen DetaGears
anatofuz <anatofuz@cr.ie.u-ryukyu.ac.jp>
parents: 569
diff changeset
89 create_file("impl/$name.h",$contents,$str,$name);
1233236c244d autogen DetaGears
anatofuz <anatofuz@cr.ie.u-ryukyu.ac.jp>
parents: 569
diff changeset
90 }
1233236c244d autogen DetaGears
anatofuz <anatofuz@cr.ie.u-ryukyu.ac.jp>
parents: 569
diff changeset
91
1233236c244d autogen DetaGears
anatofuz <anatofuz@cr.ie.u-ryukyu.ac.jp>
parents: 569
diff changeset
92 sub create_inter_file {
1233236c244d autogen DetaGears
anatofuz <anatofuz@cr.ie.u-ryukyu.ac.jp>
parents: 569
diff changeset
93 my ($name, $contents) = @_;
1233236c244d autogen DetaGears
anatofuz <anatofuz@cr.ie.u-ryukyu.ac.jp>
parents: 569
diff changeset
94 my $str = "typedef struct $name <Type, Impl> {\n";
1233236c244d autogen DetaGears
anatofuz <anatofuz@cr.ie.u-ryukyu.ac.jp>
parents: 569
diff changeset
95 create_file("interface/$name.h",$contents,$str,$name);
1233236c244d autogen DetaGears
anatofuz <anatofuz@cr.ie.u-ryukyu.ac.jp>
parents: 569
diff changeset
96 }
568
840597c5d242 add_parse_create_each_context.pl
anatofuz <anatofuz@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
97
570
1233236c244d autogen DetaGears
anatofuz <anatofuz@cr.ie.u-ryukyu.ac.jp>
parents: 569
diff changeset
98 sub create_file {
1233236c244d autogen DetaGears
anatofuz <anatofuz@cr.ie.u-ryukyu.ac.jp>
parents: 569
diff changeset
99 my ($file_name, $contents, $str, $name) = @_;
1233236c244d autogen DetaGears
anatofuz <anatofuz@cr.ie.u-ryukyu.ac.jp>
parents: 569
diff changeset
100 my $space = " ";
1233236c244d autogen DetaGears
anatofuz <anatofuz@cr.ie.u-ryukyu.ac.jp>
parents: 569
diff changeset
101 for my $co (@$contents) {
1233236c244d autogen DetaGears
anatofuz <anatofuz@cr.ie.u-ryukyu.ac.jp>
parents: 569
diff changeset
102 if ($co =~ /enum\s*Code\s*(\w+)/) {
1233236c244d autogen DetaGears
anatofuz <anatofuz@cr.ie.u-ryukyu.ac.jp>
parents: 569
diff changeset
103 $str .= "${space}__code $1(...)\n";
1233236c244d autogen DetaGears
anatofuz <anatofuz@cr.ie.u-ryukyu.ac.jp>
parents: 569
diff changeset
104 next;
1233236c244d autogen DetaGears
anatofuz <anatofuz@cr.ie.u-ryukyu.ac.jp>
parents: 569
diff changeset
105 }
1233236c244d autogen DetaGears
anatofuz <anatofuz@cr.ie.u-ryukyu.ac.jp>
parents: 569
diff changeset
106 chomp $co;
1233236c244d autogen DetaGears
anatofuz <anatofuz@cr.ie.u-ryukyu.ac.jp>
parents: 569
diff changeset
107 $str .= "${space}$co;\n";
1233236c244d autogen DetaGears
anatofuz <anatofuz@cr.ie.u-ryukyu.ac.jp>
parents: 569
diff changeset
108 }
1233236c244d autogen DetaGears
anatofuz <anatofuz@cr.ie.u-ryukyu.ac.jp>
parents: 569
diff changeset
109 open my $fh, '>', "$ENV{PWD}/plautogen/$file_name" or die "oops! $file_name\n";
1233236c244d autogen DetaGears
anatofuz <anatofuz@cr.ie.u-ryukyu.ac.jp>
parents: 569
diff changeset
110 print $fh $str;
1233236c244d autogen DetaGears
anatofuz <anatofuz@cr.ie.u-ryukyu.ac.jp>
parents: 569
diff changeset
111 print $fh "} $name;\n";
1233236c244d autogen DetaGears
anatofuz <anatofuz@cr.ie.u-ryukyu.ac.jp>
parents: 569
diff changeset
112 close $fh;
1233236c244d autogen DetaGears
anatofuz <anatofuz@cr.ie.u-ryukyu.ac.jp>
parents: 569
diff changeset
113 }
1233236c244d autogen DetaGears
anatofuz <anatofuz@cr.ie.u-ryukyu.ac.jp>
parents: 569
diff changeset
114
1233236c244d autogen DetaGears
anatofuz <anatofuz@cr.ie.u-ryukyu.ac.jp>
parents: 569
diff changeset
115 sub print_impl {
1233236c244d autogen DetaGears
anatofuz <anatofuz@cr.ie.u-ryukyu.ac.jp>
parents: 569
diff changeset
116 my ($out, $name, $cg_info) = @_;
1233236c244d autogen DetaGears
anatofuz <anatofuz@cr.ie.u-ryukyu.ac.jp>
parents: 569
diff changeset
117 print $out "typedef strcut $name<Impl, Bot> {\n";
1233236c244d autogen DetaGears
anatofuz <anatofuz@cr.ie.u-ryukyu.ac.jp>
parents: 569
diff changeset
118 }
1233236c244d autogen DetaGears
anatofuz <anatofuz@cr.ie.u-ryukyu.ac.jp>
parents: 569
diff changeset
119
1233236c244d autogen DetaGears
anatofuz <anatofuz@cr.ie.u-ryukyu.ac.jp>
parents: 569
diff changeset
120 __DATA__
1233236c244d autogen DetaGears
anatofuz <anatofuz@cr.ie.u-ryukyu.ac.jp>
parents: 569
diff changeset
121 SpinLock
1233236c244d autogen DetaGears
anatofuz <anatofuz@cr.ie.u-ryukyu.ac.jp>
parents: 569
diff changeset
122 Main
1233236c244d autogen DetaGears
anatofuz <anatofuz@cr.ie.u-ryukyu.ac.jp>
parents: 569
diff changeset
123 CUDAExecutor
1233236c244d autogen DetaGears
anatofuz <anatofuz@cr.ie.u-ryukyu.ac.jp>
parents: 569
diff changeset
124 TaskManagerImpl
1233236c244d autogen DetaGears
anatofuz <anatofuz@cr.ie.u-ryukyu.ac.jp>
parents: 569
diff changeset
125 LockImpl
1233236c244d autogen DetaGears
anatofuz <anatofuz@cr.ie.u-ryukyu.ac.jp>
parents: 569
diff changeset
126 MultiDim
1233236c244d autogen DetaGears
anatofuz <anatofuz@cr.ie.u-ryukyu.ac.jp>
parents: 569
diff changeset
127 SynchronizedQueue
1233236c244d autogen DetaGears
anatofuz <anatofuz@cr.ie.u-ryukyu.ac.jp>
parents: 569
diff changeset
128 ArrayStack
1233236c244d autogen DetaGears
anatofuz <anatofuz@cr.ie.u-ryukyu.ac.jp>
parents: 569
diff changeset
129 LoopCounter
1233236c244d autogen DetaGears
anatofuz <anatofuz@cr.ie.u-ryukyu.ac.jp>
parents: 569
diff changeset
130 TimerImpl
1233236c244d autogen DetaGears
anatofuz <anatofuz@cr.ie.u-ryukyu.ac.jp>
parents: 569
diff changeset
131 Node
1233236c244d autogen DetaGears
anatofuz <anatofuz@cr.ie.u-ryukyu.ac.jp>
parents: 569
diff changeset
132 CUDAWorker
1233236c244d autogen DetaGears
anatofuz <anatofuz@cr.ie.u-ryukyu.ac.jp>
parents: 569
diff changeset
133 Memory
1233236c244d autogen DetaGears
anatofuz <anatofuz@cr.ie.u-ryukyu.ac.jp>
parents: 569
diff changeset
134 SemaphoreImpl
1233236c244d autogen DetaGears
anatofuz <anatofuz@cr.ie.u-ryukyu.ac.jp>
parents: 569
diff changeset
135 BoundedBuffer
1233236c244d autogen DetaGears
anatofuz <anatofuz@cr.ie.u-ryukyu.ac.jp>
parents: 569
diff changeset
136 RotateTree
1233236c244d autogen DetaGears
anatofuz <anatofuz@cr.ie.u-ryukyu.ac.jp>
parents: 569
diff changeset
137 CUDABuffer
1233236c244d autogen DetaGears
anatofuz <anatofuz@cr.ie.u-ryukyu.ac.jp>
parents: 569
diff changeset
138 Array
1233236c244d autogen DetaGears
anatofuz <anatofuz@cr.ie.u-ryukyu.ac.jp>
parents: 569
diff changeset
139 Allocate
1233236c244d autogen DetaGears
anatofuz <anatofuz@cr.ie.u-ryukyu.ac.jp>
parents: 569
diff changeset
140 Meta
1233236c244d autogen DetaGears
anatofuz <anatofuz@cr.ie.u-ryukyu.ac.jp>
parents: 569
diff changeset
141 SingleLinkedQueue
1233236c244d autogen DetaGears
anatofuz <anatofuz@cr.ie.u-ryukyu.ac.jp>
parents: 569
diff changeset
142 CPUWorker
1233236c244d autogen DetaGears
anatofuz <anatofuz@cr.ie.u-ryukyu.ac.jp>
parents: 569
diff changeset
143 Integer
1233236c244d autogen DetaGears
anatofuz <anatofuz@cr.ie.u-ryukyu.ac.jp>
parents: 569
diff changeset
144 MultiDimIterator
1233236c244d autogen DetaGears
anatofuz <anatofuz@cr.ie.u-ryukyu.ac.jp>
parents: 569
diff changeset
145 Element
1233236c244d autogen DetaGears
anatofuz <anatofuz@cr.ie.u-ryukyu.ac.jp>
parents: 569
diff changeset
146 RedBlackTree
1233236c244d autogen DetaGears
anatofuz <anatofuz@cr.ie.u-ryukyu.ac.jp>
parents: 569
diff changeset
147