Skip to content
GitLab
Projects
Groups
Snippets
/
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
Menu
Open sidebar
Robotlab
labcomm-core
Commits
50a7915e
Commit
50a7915e
authored
Nov 11, 2014
by
Anders Blomdell
Browse files
Merging LabComm2014 into master branch, LabComm2013 in now considered
obsolete.
parents
23d7bf99
af74718b
Changes
109
Hide whitespace changes
Inline
Side-by-side
.gitignore
View file @
50a7915e
...
...
@@ -6,9 +6,9 @@ lib/c/liblabcomm.so.1
lib/c/liblabcomm2006.so.1
lib/c/liblabcomm2006.so
lib/c/liblabcomm2006.a
lib/c/liblabcomm201
3
.so.1
lib/c/liblabcomm201
3
.so
lib/c/liblabcomm201
3
.a
lib/c/liblabcomm201
4
.so.1
lib/c/liblabcomm201
4
.so
lib/c/liblabcomm201
4
.a
lib/c/test/test_labcomm
lib/c/test/test_labcomm_basic_type_encoding
lib/c/test/test_labcomm_copy
...
...
@@ -26,3 +26,7 @@ examples/twoway/gen/
lib/csharp/labcomm.dll
lib/java/gen/
lib/java/labcomm*.jar
examples/simple/example_decoder
examples/simple/example_decoder06
examples/simple/example_encoder
examples/simple/example_encoder06
compiler/CS_CodeGen.jrag
View file @
50a7915e
...
...
@@ -268,7 +268,7 @@ aspect CS_Class {
pp(env.getPrintStream());
env.println("*/");
env.println();
env.println("public class " + getName() + " :
LabComm
Type {");
env.println("public class " + getName() + " :
Sample
Type {");
env.println();
env.indent();
getType().CS_emitInstance(env);
...
...
@@ -284,11 +284,11 @@ aspect CS_Class {
pp(env.getPrintStream());
env.println("*/");
env.println();
env.println("public class " + getName() + " :
LabComm
Sample {");
env.println("public class " + getName() + " : Sample {");
env.println();
env.indent();
getType().CS_emitInstance(env);
env.println("public interface Handler :
LabComm
Handler {");
env.println("public interface Handler :
Sample
Handler {");
env.print(" void handle(");
if (!isVoid()) {
getType().CS_emitType(env);
...
...
@@ -297,21 +297,21 @@ aspect CS_Class {
env.println(");");
env.println("}");
env.println();
env.println("public static void register(
LabComm
Decoder d, Handler h) {");
env.println("public static void register(Decoder d, Handler h) {");
env.indent();
env.println("d.register(new Dispatcher(), h);");
env.unindent();
env.println("}");
env.println();
env.println("public static void register(
LabComm
Encoder e) {");
env.println("public static void register(Encoder e) {");
env.indent();
env.println("e.register(new Dispatcher());");
env.unindent();
env.println("}");
env.println();
env.println("private class Dispatcher :
LabComm
Dispatcher {");
env.println("private class Dispatcher :
Sample
Dispatcher {");
env.indent();
env.println();
env.println("public Type getSampleClass() {");
...
...
@@ -332,7 +332,7 @@ aspect CS_Class {
env.unindent();
env.println("}");
env.println();
env.println("public void decodeAndHandle(
LabComm
Decoder d,
LabComm
Handler h) {");
env.println("public void decodeAndHandle(Decoder d,
Sample
Handler h) {");
env.indent();
if (isVoid()) {
env.println(getName() + ".decode(d);");
...
...
@@ -374,7 +374,7 @@ aspect CS_Class {
}
public void TypeDecl.CS_emitEncoder(CS_env env) {
env.print("public static void encode(
LabComm
Encoder e");
env.print("public static void encode(Encoder e");
if (!isVoid()) {
env.print(", ");
getType().CS_emitType(env);
...
...
@@ -389,7 +389,7 @@ aspect CS_Class {
}
public void SampleDecl.CS_emitEncoder(CS_env env) {
env.print("public static void encode(
LabComm
Encoder e");
env.print("public static void encode(Encoder e");
if (!isVoid()) {
env.print(", ");
getType().CS_emitType(env);
...
...
@@ -485,7 +485,7 @@ aspect CS_Class {
public void Decl.CS_emitDecoder(CS_env env) {
env.print("public static ");
getType().CS_emitType(env);
env.println(" decode(
LabComm
Decoder d) {");
env.println(" decode(Decoder d) {");
env.indent();
if (!isVoid()) {
getType().CS_emitType(env);
...
...
compiler/C_CodeGen.jrag
View file @
50a7915e
...
...
@@ -1188,12 +1188,12 @@ aspect C_Signature {
}
}
env.println("};");
C_emitSizeofValue(env);
env.println("struct labcomm"+env.verStr+"_signature labcomm"+env.verStr+"_signature_" +
env.prefix + getName() + " = {");
env.indent();
env.println("LABCOMM_SAMPLE, \"" + getName() + "\",");
env.println("(int (*)(struct labcomm"+env.verStr+"_signature *, void *))labcomm"+env.verStr+"_sizeof_" +
env.prefix + getName() + ",");
env.println("\"" + getName() + "\",");
env.println("sizeof_" + env.prefix + getName() + ",");
env.println("sizeof(signature_bytes_" + env.prefix + getName() + "),");
env.println("signature_bytes_" + env.prefix + getName() + ",");
env.println("0");
...
...
@@ -1260,6 +1260,22 @@ aspect C_Sizeof {
return getType().C_fixedSizeof();
}
public void Decl.C_emitSizeof(C_env env) {
}
public void SampleDecl.C_emitSizeof(C_env env) {
env = env.nestStruct("(*v)");
env.println("int labcomm"+env.verStr+"_sizeof_" + env.prefix + getName() +
"(" + env.prefix + getName() + " *v)");
env.println("{");
env.indent();
env.println("return labcomm"+env.verStr+"_internal_sizeof(" +
"&labcomm" + env.verStr+"_signature_" + env.prefix + getName() +
", v);");
env.unindent();
env.println("}");
}
public int Type.C_fixedSizeof() {
throw new Error(this.getClass().getName() +
".C_fixedSizeof()" +
...
...
@@ -1308,18 +1324,17 @@ aspect C_Sizeof {
return getType().C_fixedSizeof() * elements;
}
public void Decl.C_emitSizeof(C_env env) {
public void Decl.C_emitSizeof
Value
(C_env env) {
}
public void SampleDecl.C_emitSizeof(C_env env) {
public void SampleDecl.C_emitSizeof
Value
(C_env env) {
env = env.nestStruct("(*v)");
env.println("int labcomm"+env.verStr+"_sizeof_" + env.prefix + getName() +
"(" + env.prefix + getName() + " *v)");
env.println("static int sizeof_" + env.prefix + getName() + "(void *vv)");
env.println("{");
env.indent();
env.println("int result = labcomm"+env.verStr+"_size_packed32(labcomm"+env.verStr+"_signature_" +
env.prefix + getName() +".index);");
env.println("int result = 0;");
if (C_isDynamic()) {
env.println(env.prefix + getName() + " *v = vv;");
getType().C_emitSizeof(env);
} else {
env.println("result += " + C_fixedSizeof() + ";");
...
...
@@ -1338,7 +1353,8 @@ aspect C_Sizeof {
public void PrimType.C_emitSizeof(C_env env) {
switch (getToken()) {
case LABCOMM_STRING: {
env.println("result += 0 + strlen(" + env.qualid + ");");
env.print("{ int l = strlen(" + env.qualid + "); ");
env.println("result += labcomm"+env.verStr+"_size_packed32(l) + l; }");
} break;
default: {
throw new Error(this.getClass().getName() +
...
...
compiler/Java_CodeGen.jrag
View file @
50a7915e
...
...
@@ -206,21 +206,6 @@ aspect Java_CodeGen {
public void Program.J_gen(PrintStream ps, String pack, int version) throws IOException {
Java_env env;
/*
// Registration class
env = new Java_env(version, ps);
if (pack != null && pack.length() > 0) {
env.println("package " + pack + ";");
}
env.println("public class LabCommRegister {");
env.println();
env.indent();
Java_emitTypeRegister(env);
env.unindent();
env.println();
env.println("}");
// env.close();
*/
env = new Java_env(version, ps);
for (int i = 0; i < getNumDecl(); i++) {
Decl d = getDecl(i);
...
...
@@ -236,21 +221,6 @@ aspect Java_CodeGen {
public void Program.J_gen(String dir, String pack, int version) throws IOException {
Java_env env;
/*
// Registration class
env = new Java_env(version, new File(dir, "LabCommRegister.java"));
if (pack != null && pack.length() > 0) {
env.println("package " + pack + ";");
}
env.println("public class LabCommRegister {");
env.println();
env.indent();
Java_emitTypeRegister(env);
env.unindent();
env.println();
env.println("}");
env.close();
*/
for (int i = 0; i < getNumDecl(); i++) {
Decl d = getDecl(i);
try {
...
...
@@ -286,38 +256,6 @@ aspect Java_CodeGen {
}
}
}
}
aspect Java_Register {
public void Program.Java_emitTypeRegister(Java_env env) {
/*
env.println("static void register(LabCommChannel c) {");
env.indent();
for (int i = 0; i < getNumDecl(); i++) {
getDecl(i).Java_emitTypeRegister(env);
}
env.unindent();
env.println("}");
*/
}
public void Decl.Java_emitTypeRegister(Java_env env) {
throw new Error(this.getClass().getName() +
".Java_emitTypeRegister(Java_env env)" +
" not declared");
}
public void SampleDecl.Java_emitTypeRegister(Java_env env) {
env.println(getName() + ".register(c);");
}
public void TypeDecl.Java_emitTypeRegister(Java_env env) {
// TODO
}
}
aspect Java_Class {
...
...
@@ -340,11 +278,11 @@ aspect Java_Class {
}
env.println("import java.io.IOException;");
env.println("import se.lth.control.labcomm"+env.verStr+".
LabComm
Type;");
env.println("import se.lth.control.labcomm"+env.verStr+".
LabComm
Encoder;");
env.println("import se.lth.control.labcomm"+env.verStr+".
LabComm
Decoder;");
env.println("import se.lth.control.labcomm"+env.verStr+".
Sample
Type;");
env.println("import se.lth.control.labcomm"+env.verStr+".Encoder;");
env.println("import se.lth.control.labcomm"+env.verStr+".Decoder;");
env.println();
env.println("public class " + getName() + " implements
LabComm
Type {");
env.println("public class " + getName() + " implements
Sample
Type {");
env.println();
env.indent();
getType().Java_emitInstance(env);
...
...
@@ -380,21 +318,21 @@ aspect Java_Class {
}
env.println("import java.io.IOException;");
env.println("import se.lth.control.labcomm"+env.verStr+".
LabComm
Decoder;");
env.println("import se.lth.control.labcomm"+env.verStr+".
LabComm
Dispatcher;");
env.println("import se.lth.control.labcomm"+env.verStr+".
LabComm
Encoder;");
env.println("import se.lth.control.labcomm"+env.verStr+".
LabComm
Handler;");
env.println("import se.lth.control.labcomm"+env.verStr+".
LabComm
Sample;");
env.println("import se.lth.control.labcomm"+env.verStr+".Decoder;");
env.println("import se.lth.control.labcomm"+env.verStr+".
Sample
Dispatcher;");
env.println("import se.lth.control.labcomm"+env.verStr+".Encoder;");
env.println("import se.lth.control.labcomm"+env.verStr+".
Sample
Handler;");
env.println("import se.lth.control.labcomm"+env.verStr+".Sample;");
env.println();
env.print("public class " + getName());
// if(getType().isUserType()) {
// env.print(" extends "+getType().getTypeName());
// }
env.println(" implements
LabComm
Sample {");
env.println(" implements Sample {");
env.println();
env.indent();
getType().Java_emitInstance(env);
env.println("public interface Handler extends
LabComm
Handler {");
env.println("public interface Handler extends
Sample
Handler {");
env.print(" public void handle_" + getName() + "(");
if (!isVoid()) {
getType().Java_emitType(env);
...
...
@@ -403,21 +341,21 @@ aspect Java_Class {
env.println(") throws Exception;");
env.println("}");
env.println();
env.println("public static void register(
LabComm
Decoder d, Handler h) throws IOException {");
env.println("public static void register(Decoder d,
Sample
Handler h) throws IOException {");
env.indent();
env.println("d.register(new Dispatcher(), h);");
env.unindent();
env.println("}");
env.println();
env.println("public static void register(
LabComm
Encoder e) throws IOException {");
env.println("public static void register(Encoder e) throws IOException {");
env.indent();
env.println("e.register(new Dispatcher());");
env.unindent();
env.println("}");
env.println();
env.println("private static class Dispatcher implements
LabComm
Dispatcher {");
env.println("private static class Dispatcher implements
Sample
Dispatcher {");
env.indent();
env.println();
env.println("public Class getSampleClass() {");
...
...
@@ -438,8 +376,8 @@ aspect Java_Class {
env.unindent();
env.println("}");
env.println();
env.println("public void decodeAndHandle(
LabComm
Decoder d,");
env.println("
LabComm
Handler h) throws Exception {");
env.println("public void decodeAndHandle(Decoder d,");
env.println("
Sample
Handler h) throws Exception {");
env.indent();
if (isVoid()) {
env.println(getName() + ".decode(d);");
...
...
@@ -481,7 +419,7 @@ aspect Java_Class {
}
public void TypeDecl.Java_emitEncoder(Java_env env) {
env.print("public static void encode(
LabComm
Encoder e");
env.print("public static void encode(Encoder e");
if (!isVoid()) {
env.print(", ");
getType().Java_emitType(env);
...
...
@@ -496,7 +434,7 @@ aspect Java_Class {
}
public void SampleDecl.Java_emitEncoder(Java_env env) {
env.print("public static void encode(
LabComm
Encoder e");
env.print("public static void encode(Encoder e");
if (!isVoid()) {
env.print(", ");
getType().Java_emitType(env);
...
...
@@ -588,7 +526,7 @@ aspect Java_Class {
public void Decl.Java_emitDecoder(Java_env env) {
env.print("public static ");
getType().Java_emitType(env);
env.println(" decode(
LabComm
Decoder d) throws IOException {");
env.println(" decode(Decoder d) throws IOException {");
env.indent();
if (!isVoid()) {
getType().Java_emitType(env);
...
...
compiler/Python_CodeGen.jrag
View file @
50a7915e
...
...
@@ -83,6 +83,7 @@ aspect Python_CodeGen {
env.println("import labcomm");
env.println();
Python_genTypes(env);
/* Typedefs curenntly disabled
env.println("typedef = [");
env.indent();
for (int i = 0 ; i < getNumDecl() ; i++) {
...
...
@@ -90,6 +91,7 @@ aspect Python_CodeGen {
}
env.unindent();
env.println("]");
*/
env.println("sample = [");
env.indent();
for (int i = 0 ; i < getNumDecl() ; i++) {
...
...
@@ -105,11 +107,7 @@ aspect PythonTypes {
public void Program.Python_genTypes(Python_env env) {
for (int i = 0 ; i < getNumDecl() ; i++) {
env.println("class " + getDecl(i).getName() + "(object):");
env.indent();
getDecl(i).Python_genSignature(env);
env.unindent();
env.println();
}
}
...
...
@@ -120,19 +118,29 @@ aspect PythonTypes {
}
public void TypeDecl.Python_genSignature(Python_env env) {
/*
env.println("class " + getName() + "(object):");
env.indent();
env.println("signature = labcomm.typedef('" + getName() + "',");
env.indent();
getType().Python_genSignature(env);
env.unindent();
env.println(")");
env.unindent();
env.println();
*/
}
public void SampleDecl.Python_genSignature(Python_env env) {
env.println("class " + getName() + "(object):");
env.indent();
env.println("signature = labcomm.sample('" + getName() + "', ");
env.indent();
getType().Python_genSignature(env);
env.unindent();
env.println(")");
env.unindent();
env.println();
}
public void UserType.Python_genSignature(Python_env env) {
...
...
examples/dynamic/test/DynamicPart.java
View file @
50a7915e
...
...
@@ -18,12 +18,12 @@ import java.util.Iterator;
import
java.util.LinkedList
;
import
java.util.Map
;
import
se.lth.control.labcomm.
LabComm
Decoder
;
import
se.lth.control.labcomm.
LabComm
DecoderChannel
;
import
se.lth.control.labcomm.
LabComm
Encoder
;
import
se.lth.control.labcomm.
LabComm
EncoderChannel
;
import
AST.
LabComm
Parser
;
import
AST.
LabComm
Scanner
;
import
se.lth.control.labcomm.Decoder
;
import
se.lth.control.labcomm.DecoderChannel
;
import
se.lth.control.labcomm.Encoder
;
import
se.lth.control.labcomm.EncoderChannel
;
import
AST.Parser
;
import
AST.Scanner
;
import
AST.Program
;
import
beaver.Parser.Exception
;
...
...
@@ -160,8 +160,8 @@ public class DynamicPart {
public
static
InRAMCompiler
generateCode
(
String
lcDecl
,
HashMap
<
String
,
String
>
handlers
)
{
Program
ast
=
null
;
InputStream
in
=
new
ByteArrayInputStream
(
lcDecl
.
getBytes
());
LabComm
Scanner
scanner
=
new
LabComm
Scanner
(
in
);
LabComm
Parser
parser
=
new
LabComm
Parser
();
Scanner
scanner
=
new
Scanner
(
in
);
Parser
parser
=
new
Parser
();
Collection
errors
=
new
LinkedList
();
InRAMCompiler
irc
=
null
;
...
...
@@ -272,7 +272,7 @@ public class DynamicPart {
private
void
decodeTest
(
InRAMCompiler
irc
,
HandlerContext
ctxt
,
String
tmpFile
,
String
...
sampleNames
)
{
try
{
FileInputStream
in
=
new
FileInputStream
(
tmpFile
);
LabComm
DecoderChannel
dec
=
new
LabComm
DecoderChannel
(
in
);
DecoderChannel
dec
=
new
DecoderChannel
(
in
);
Class
handlerClass
=
irc
.
load
(
handlerClassName
);
Constructor
hcc
=
handlerClass
.
getDeclaredConstructor
(
Object
.
class
);
Object
handler
=
hcc
.
newInstance
(
ctxt
);
...
...
@@ -282,7 +282,7 @@ public class DynamicPart {
Class
sampleClass
=
irc
.
load
(
sampleName
);
Class
handlerInterface
=
irc
.
load
(
sampleName
+
"$Handler"
);
Method
reg
=
sampleClass
.
getDeclaredMethod
(
"register"
,
LabComm
Decoder
.
class
,
handlerInterface
);
Method
reg
=
sampleClass
.
getDeclaredMethod
(
"register"
,
Decoder
.
class
,
handlerInterface
);
reg
.
invoke
(
sampleClass
,
dec
,
handler
);
}
...
...
@@ -324,20 +324,20 @@ public class DynamicPart {
FileOutputStream
out
=
new
FileOutputStream
(
tmpFile
);
LabComm
EncoderChannel
enc
=
new
LabComm
EncoderChannel
(
out
);
EncoderChannel
enc
=
new
EncoderChannel
(
out
);
/* register and send foo */
Method
regFoo
=
fc
.
getDeclaredMethod
(
"register"
,
LabComm
Encoder
.
class
);
Method
regFoo
=
fc
.
getDeclaredMethod
(
"register"
,
Encoder
.
class
);
regFoo
.
invoke
(
fc
,
enc
);
Method
doEncodeFoo
=
fc
.
getDeclaredMethod
(
"encode"
,
LabComm
Encoder
.
class
,
ft
);
Method
doEncodeFoo
=
fc
.
getDeclaredMethod
(
"encode"
,
Encoder
.
class
,
ft
);
doEncodeFoo
.
invoke
(
fc
,
enc
,
fv
);
/* register and send bar (NB! uses primitive type int) */
Method
regBar
=
bc
.
getDeclaredMethod
(
"register"
,
LabComm
Encoder
.
class
);
Method
regBar
=
bc
.
getDeclaredMethod
(
"register"
,
Encoder
.
class
);
regBar
.
invoke
(
bc
,
enc
);
Method
doEncodeBar
=
bc
.
getDeclaredMethod
(
"encode"
,
LabComm
Encoder
.
class
,
Integer
.
TYPE
);
Method
doEncodeBar
=
bc
.
getDeclaredMethod
(
"encode"
,
Encoder
.
class
,
Integer
.
TYPE
);
doEncodeBar
.
invoke
(
bc
,
enc
,
ctxt
.
bar
);
out
.
close
();
...
...
examples/dynamic/test/StaticDecoder.java
View file @
50a7915e
...
...
@@ -6,16 +6,16 @@ import gen.bar;
import
java.io.File
;
import
java.io.FileInputStream
;
import
java.io.InputStream
;
import
se.lth.control.labcomm.
LabComm
DecoderChannel
;
import
se.lth.control.labcomm.DecoderChannel
;
public
class
StaticDecoder
implements
foo
.
Handler
,
bar
.
Handler
{
LabComm
DecoderChannel
decoder
;
DecoderChannel
decoder
;
public
StaticDecoder
(
InputStream
in
)
throws
Exception
{
decoder
=
new
LabComm
DecoderChannel
(
in
);
decoder
=
new
DecoderChannel
(
in
);
foo
.
register
(
decoder
,
this
);
bar
.
register
(
decoder
,
this
);
...
...
examples/dynamic/test/StaticEncoder.java
View file @
50a7915e
...
...
@@ -2,19 +2,19 @@ package test;
import
java.io.File
;
import
java.io.FileOutputStream
;
import
java.io.OutputStream
;
import
se.lth.control.labcomm.
LabComm
EncoderChannel
;
import
se.lth.control.labcomm.EncoderChannel
;
import
gen.foo
;
import
gen.bar
;
public
class
StaticEncoder
{
LabComm
EncoderChannel
encoder
;
EncoderChannel
encoder
;
public
StaticEncoder
(
OutputStream
out
)
throws
Exception
{
encoder
=
new
LabComm
EncoderChannel
(
out
);
encoder
=
new
EncoderChannel
(
out
);
foo
.
register
(
encoder
);
bar
.
register
(
encoder
);
}
...
...
examples/dynamic/test/TestLabCommCompiler.java
View file @
50a7915e
...
...
@@ -16,18 +16,18 @@ import java.util.Iterator;
import
java.util.LinkedList
;
import
java.util.Map
;
import
se.lth.control.labcomm.
LabComm
Decoder
;
import
se.lth.control.labcomm.
LabComm
DecoderChannel
;
import
se.lth.control.labcomm.
LabComm
Encoder
;
import
se.lth.control.labcomm.
LabComm
EncoderChannel
;
import
AST.
LabComm
Parser
;
import
AST.
LabComm
Scanner
;
import
se.lth.control.labcomm.Decoder
;
import
se.lth.control.labcomm.DecoderChannel
;
import
se.lth.control.labcomm.Encoder
;
import
se.lth.control.labcomm.EncoderChannel
;
import
AST.Parser
;
import
AST.Scanner
;
import
AST.Program
;
import
beaver.Parser.Exception
;
public
class
Test
LabComm
Compiler
{
public
class
TestCompiler
{
private
static
final
String
BAR
=
"bar"
;
private
static
final
String
FOO
=
"foo"
;
...
...
@@ -73,7 +73,7 @@ public class TestLabCommCompiler {
private
static
void
decodeTest
(
InRAMCompiler
irc
,
String
tmpFile
)
{
try
{
FileInputStream
in
=
new
FileInputStream
(
tmpFile
);
LabComm
DecoderChannel
dec
=
new
LabComm
DecoderChannel
(
in
);
DecoderChannel
dec
=
new
DecoderChannel
(
in
);
Class
fc
=
irc
.
load
(
FOO
);
Class
hc
=
irc
.
load
(
"gen_"
+
FOO
+
"Handler"
);
...
...
@@ -81,7 +81,7 @@ public class TestLabCommCompiler {
Object
h
=
hc
.
newInstance
();
Method
reg
=
fc
.
getDeclaredMethod
(
"register"
,
LabComm
Decoder
.
class
,
hi
);
Method
reg
=
fc
.
getDeclaredMethod
(
"register"
,
Decoder
.
class
,
hi
);
reg
.
invoke
(
fc
,
dec
,
h
);
dec
.
runOne
();
...
...
@@ -106,11 +106,11 @@ public class TestLabCommCompiler {
z
.
setInt
(
f
,
12
);
FileOutputStream
out
=
new
FileOutputStream
(
tmpFile
);
LabComm
EncoderChannel
enc
=
new
LabComm
EncoderChannel
(
out
);
Method
reg
=
fc
.
getDeclaredMethod
(
"register"
,
LabComm
Encoder
.
class
);
EncoderChannel
enc
=
new
EncoderChannel
(
out
);
Method
reg
=
fc
.
getDeclaredMethod
(
"register"
,
Encoder
.
class
);
reg
.
invoke
(
fc
,
enc
);
Method
doEncode
=
fc
.
getDeclaredMethod
(
"encode"
,
LabComm
Encoder
.
class
,
fc
);
Method
doEncode
=
fc
.
getDeclaredMethod
(
"encode"
,
Encoder
.
class
,
fc
);
doEncode
.
invoke
(
fc
,
enc
,
f
);
out
.
close
();
...
...
@@ -123,8 +123,8 @@ public class TestLabCommCompiler {
public
static
InRAMCompiler
generateCode
(
String
lcDecl
,
HashMap
<
String
,
String
>
handlers
)
{
Program
ast
=
null
;
InputStream
in
=
new
ByteArrayInputStream
(
lcDecl
.
getBytes
());
LabComm
Scanner
scanner
=
new
LabComm
Scanner
(
in
);
LabComm
Parser
parser
=
new
LabComm
Parser
();
Scanner
scanner
=
new
Scanner
(
in
);
Parser
parser
=
new
Parser
();
Collection
errors
=
new
LinkedList
();
InRAMCompiler
irc
=
null
;
...
...
examples/dynamic/test/TestLabcommGen.java
View file @
50a7915e
...
...
@@ -18,12 +18,12 @@ import java.util.Iterator;
import
java.util.LinkedList
;
import
java.util.Map
;
import
se.lth.control.labcomm.
LabComm
Decoder
;
import
se.lth.control.labcomm.
LabComm
DecoderChannel
;
import
se.lth.control.labcomm.
LabComm
Encoder
;
import
se.lth.control.labcomm.
LabComm
EncoderChannel
;
import
AST.
LabComm
Parser
;
import
AST.
LabComm
Scanner
;
import
se.lth.control.labcomm.Decoder
;
import
se.lth.control.labcomm.DecoderChannel
;
import
se.lth.control.labcomm.Encoder
;
import
se.lth.control.labcomm.EncoderChannel
;
import
AST.Parser
;
import
AST.Scanner
;
import
AST.Program
;
import
beaver.Parser.Exception
;
...
...
@@ -163,8 +163,8 @@ public class TestLabcommGen {
public
static
InRAMCompiler
generateCode
(
String
lcDecl
,
HashMap
<
String
,
String
>
handlers
)
{
Program
ast
=
null
;
InputStream
in
=
new
ByteArrayInputStream
(
lcDecl
.
getBytes
());
LabComm
Scanner
scanner
=
new
LabComm
Scanner
(
in
);
LabComm
Parser
parser
=
new
LabComm
Parser
();
Scanner
scanner
=
new
Scanner
(
in
);
Parser
parser
=
new
Parser
();
Collection
errors
=
new
LinkedList
();
InRAMCompiler
irc
=
null
;
...
...
@@ -332,7 +332,7 @@ public class TestLabcommGen {
private
static
void
decodeTest
(
InRAMCompiler
irc
,
String
tmpFile
,
String
...
sampleNames
)
{
try
{
FileInputStr