Commit e2a0f191 authored by Sven Gestegård Robertz's avatar Sven Gestegård Robertz
Browse files

cherry-pick 9a89be5a: renamed Type to DataType in grammar

parent ddb23f18
......@@ -13,28 +13,28 @@ aspect ArrayRewrite {
when (! getDim(0).isVariable())
to FixedArrayType {
if (getNumDim() == 1) {
return new FixedArrayType(getType(),
return new FixedArrayType(getDataType(),
getDim(0).getExpList());
} else {
List l = new List();
for (int i = 1 ; i < getNumDim() ; i++) {
l.add(getDim(i));
}
return new FixedArrayType(new ParseArrayType(getType(), l),
return new FixedArrayType(new ParseArrayType(getDataType(), l),
getDim(0).getExpList());
}
}
when (getDim(0).isVariable())
to VariableArrayType {
if (getNumDim() == 1) {
return new VariableArrayType(getType(),
return new VariableArrayType(getDataType(),
getDim(0).getExpList());
} else {
List l = new List();
for (int i = 1 ; i < getNumDim() ; i++) {
l.add(getDim(i));
}
return new VariableArrayType(new ParseArrayType(getType(), l),
return new VariableArrayType(new ParseArrayType(getDataType(), l),
getDim(0).getExpList());
}
}
......
......@@ -175,11 +175,11 @@ aspect CS_CodeGenEnv {
aspect CS_StructName {
inh int Decl.CS_Depth();
inh int Type.CS_Depth();
inh int DataType.CS_Depth();
eq Program.getDecl(int i).CS_Depth() = 0;
eq StructType.getField(int i).CS_Depth() = CS_Depth() + 1;
inh String Type.CS_structName();
inh String DataType.CS_structName();
eq Program.getDecl(int i).CS_structName() = getDecl(i).getName();
eq StructType.getField(int i).CS_structName() {
if (CS_Depth() == 0) {
......@@ -192,9 +192,9 @@ aspect CS_StructName {
aspect CS_Void {
syn boolean Decl.CS_isVoid() = getType().CS_isVoid();
syn boolean Decl.CS_isVoid() = getDataType().CS_isVoid();
syn boolean UserType.CS_isVoid() = decl().CS_isVoid();
syn boolean Type.CS_isVoid() = false;
syn boolean DataType.CS_isVoid() = false;
syn boolean VoidType.CS_isVoid() = true;
}
......@@ -273,7 +273,7 @@ aspect CS_Class {
Decl t = it.next();
t.CS_emitUserTypeDeps(env, t.getName(), outputCode);
if( outputCode && t.getType().isUserType() ) {
if( outputCode && t.getDataType().isUserType() ) {
env.println(t.getName()+".register(e);");
} else { // Just output a comment
String refpath = (via == null) ? "directly" : "indirectly via "+via;
......@@ -329,7 +329,7 @@ aspect CS_Class {
}
public void TypeDecl.CS_emitClass(CS_env env) {
if (getType().CS_needInstance()) {
if (getDataType().CS_needInstance()) {
// Hackish prettyprint preamble
env.println("/* ");
pp(env.getPrintStream());
......@@ -338,7 +338,7 @@ aspect CS_Class {
env.println("public class " + getName() + " : SampleType {");
env.println();
env.indent();
getType().CS_emitInstance(env);
getDataType().CS_emitInstance(env);
if( isReferenced()) {
CS_emitRegisterEncoder(env);
CS_emitDispatcher(env,false);
......@@ -359,11 +359,11 @@ aspect CS_Class {
env.println("public class " + getName() + " : Sample {");
env.println();
env.indent();
getType().CS_emitInstance(env);
getDataType().CS_emitInstance(env);
env.println("public interface Handler : SampleHandler {");
env.print(" void handle(");
if (!isVoid()) {
getType().CS_emitType(env);
getDataType().CS_emitType(env);
env.print(" value");
}
env.println(");");
......@@ -506,12 +506,12 @@ aspect CS_Class {
env.print("public static void encode(Encoder e");
if (!isVoid()) {
env.print(", ");
getType().CS_emitType(env);
getDataType().CS_emitType(env);
env.print(" value");
}
env.println(") {");
env.indent();
getType().CS_emitEncoder(env, "value");
getDataType().CS_emitEncoder(env, "value");
env.unindent();
env.println("}");
env.println();
......@@ -521,20 +521,20 @@ aspect CS_Class {
env.print("public static void encode(Encoder e");
if (!isVoid()) {
env.print(", ");
getType().CS_emitType(env);
getDataType().CS_emitType(env);
env.print(" value");
}
env.println(") {");
env.indent();
env.println("e.begin(typeof(" + getName() + "));");
getType().CS_emitEncoder(env, "value");
getDataType().CS_emitEncoder(env, "value");
env.println("e.end(typeof(" + getName() + "));");
env.unindent();
env.println("}");
env.println();
}
public void Type.CS_emitEncoder(CS_env env, String name) {
public void DataType.CS_emitEncoder(CS_env env, String name) {
throw new Error(this.getClass().getName() +
".CS_emitEncoder(CS_env env, String name)" +
" not declared");
......@@ -575,7 +575,7 @@ aspect CS_Class {
index = index + ", " + env.print_for_begin(limit);
}
}
getType().CS_emitEncoder(env, name + "[" + index + "]");
getDataType().CS_emitEncoder(env, name + "[" + index + "]");
for (int i = 0 ; i < getNumExp() ; i++) {
env.print_for_end();
}
......@@ -600,7 +600,7 @@ aspect CS_Class {
public void StructType.CS_emitEncoder(CS_env env, String name) {
for (int i = 0 ; i < getNumField() ; i++) {
Field f = getField(i);
f.getType().CS_emitEncoder(env, name + "." + f.getName());
f.getDataType().CS_emitEncoder(env, name + "." + f.getName());
}
}
......@@ -608,19 +608,19 @@ aspect CS_Class {
if (CS_needInstance()) {
env.println(getName() + ".encode(e, " + name + ");");
} else {
decl().getType().CS_emitEncoder(env, name);
decl().getDataType().CS_emitEncoder(env, name);
}
}
public void Decl.CS_emitDecoder(CS_env env) {
env.print("public static ");
getType().CS_emitType(env);
getDataType().CS_emitType(env);
env.println(" decode(Decoder d) {");
env.indent();
if (!isVoid()) {
getType().CS_emitType(env);
getDataType().CS_emitType(env);
env.println(" result;");
getType().CS_emitDecoder(env, "result");
getDataType().CS_emitDecoder(env, "result");
env.println("return result;");
}
env.unindent();
......@@ -628,7 +628,7 @@ aspect CS_Class {
env.println();
}
public void Type.CS_emitDecoder(CS_env env, String name) {
public void DataType.CS_emitDecoder(CS_env env, String name) {
throw new Error(this.getClass().getName() +
".CS_emitDecoder(CS_env env, String name)" +
" not declared");
......@@ -666,7 +666,7 @@ aspect CS_Class {
env.println(";");
}
env.print(name + " = new ");
getType().CS_emitTypePrefix(env);
getDataType().CS_emitTypePrefix(env);
env.print("[");
for (int i = 0 ; i < getNumExp() ; i++) {
if (i > 0) {
......@@ -675,7 +675,7 @@ aspect CS_Class {
env.print("i_" + (baseDepth + i) + "_max");
}
env.print("]");
getType().CS_emitTypeSuffix(env);
getDataType().CS_emitTypeSuffix(env);
env.println(";");
String index = null;
......@@ -687,7 +687,7 @@ aspect CS_Class {
index = index + ", " + env.print_for_begin(limit);
}
}
getType().CS_emitDecoder(env, name + "[" + index + "]");
getDataType().CS_emitDecoder(env, name + "[" + index + "]");
for (int i = 0 ; i < getNumExp() ; i++) {
env.print_for_end();
}
......@@ -715,7 +715,7 @@ aspect CS_Class {
env.println("();");
for (int i = 0 ; i < getNumField() ; i++) {
Field f = getField(i);
f.getType().CS_emitDecoder(env, name + "." + f.getName());
f.getDataType().CS_emitDecoder(env, name + "." + f.getName());
}
}
......@@ -723,11 +723,11 @@ aspect CS_Class {
if (CS_needInstance()) {
env.println(name + " = " + getName() + ".decode(d);");
} else {
decl().getType().CS_emitDecoder(env, name);
decl().getDataType().CS_emitDecoder(env, name);
}
}
public void Type.CS_emitTypePrefix(CS_env env) {
public void DataType.CS_emitTypePrefix(CS_env env) {
throw new Error(this.getClass().getName() +
".CS_emitTypePrefix(CS_env env)" +
" not declared");
......@@ -745,24 +745,24 @@ aspect CS_Class {
if (CS_needInstance()) {
env.print(getName());
} else {
decl().getType().CS_emitTypePrefix(env);
decl().getDataType().CS_emitTypePrefix(env);
}
}
public void ArrayType.CS_emitTypePrefix(CS_env env){
getType().CS_emitTypePrefix(env);
getDataType().CS_emitTypePrefix(env);
}
public void StructType.CS_emitTypePrefix(CS_env env){
env.print(CS_structName());
}
public void Type.CS_emitTypeSuffix(CS_env env) {
public void DataType.CS_emitTypeSuffix(CS_env env) {
}
public void UserType.CS_emitTypeSuffix(CS_env env) {
if (! CS_needInstance()) {
decl().getType().CS_emitTypeSuffix(env);
decl().getDataType().CS_emitTypeSuffix(env);
}
}
......@@ -772,10 +772,10 @@ aspect CS_Class {
env.print(",");
}
env.print("]");
getType().CS_emitTypeSuffix(env);
getDataType().CS_emitTypeSuffix(env);
}
public boolean Type.CS_needInstance() {
public boolean DataType.CS_needInstance() {
throw new Error(this.getClass().getName() +
".CS_needInstance()" +
" not declared");
......@@ -790,7 +790,7 @@ aspect CS_Class {
}
public boolean UserType.CS_needInstance() {
return decl().getType().CS_needInstance();
return decl().getDataType().CS_needInstance();
}
public boolean StructType.CS_needInstance() {
......@@ -798,10 +798,10 @@ aspect CS_Class {
}
public boolean ArrayType.CS_needInstance() {
return getType().CS_needInstance();
return getDataType().CS_needInstance();
}
public boolean Type.CS_isPrimitive() {
public boolean DataType.CS_isPrimitive() {
return false;
}
......@@ -809,7 +809,7 @@ aspect CS_Class {
return true;
}
public void Type.CS_emitInstance(CS_env env) {
public void DataType.CS_emitInstance(CS_env env) {
throw new Error(this.getClass().getName() +
".CS_emitInstance(CS_env env)" +
" not declared");
......@@ -822,7 +822,7 @@ aspect CS_Class {
}
public void ArrayType.CS_emitInstance(CS_env env) {
getType().CS_emitInstance(env);
getDataType().CS_emitInstance(env);
}
public void StructType.CS_emitInstance(CS_env env) {
......@@ -831,7 +831,7 @@ aspect CS_Class {
env.indent();
}
for (int i = 0 ; i < getNumField() ; i++) {
getField(i).getType().CS_emitInstance(env);
getField(i).getDataType().CS_emitInstance(env);
}
for (int i = 0 ; i < getNumField() ; i++) {
getField(i).CS_emitField(env);
......@@ -848,11 +848,11 @@ aspect CS_Class {
public void Field.CS_emitField(CS_env env) {
env.print("public ");
getType().CS_emitType(env);
getDataType().CS_emitType(env);
env.println(" " + getName() + ";");
}
public void Type.CS_emitType(CS_env env) {
public void DataType.CS_emitType(CS_env env) {
throw new Error(this.getClass().getName() +
".CS_emitType(CS_env env)" +
" not declared");
......@@ -872,17 +872,17 @@ aspect CS_Class {
}
public void UserType.CS_emitType(CS_env env) {
decl().getType().CS_emitType(env);
decl().getDataType().CS_emitType(env);
}
public void ArrayType.CS_emitType(CS_env env){
getType().CS_emitTypePrefix(env);
getDataType().CS_emitTypePrefix(env);
env.print("[");
for (int i = 1 ; i < getNumExp() ; i++) {
env.print(",");
}
env.print("]");
getType().CS_emitTypeSuffix(env);
getDataType().CS_emitTypeSuffix(env);
}
public void StructType.CS_emitType(CS_env env){
......@@ -902,7 +902,7 @@ aspect CS_Signature {
public void TypeRefSignatureLine.CS_emitSignature(CS_env env, boolean isDecl){
env.print(getIndentString());
env.println("e.encodePacked32(e.getTypeId( typeof("+decl.getName()+")));");
env.println("e.encodePacked32(e.getDataTypeId( typeof("+decl.getName()+")));");
}
public void DataSignatureLine.CS_emitSignature(CS_env env, boolean decl){
......@@ -955,14 +955,14 @@ aspect CS_Info {
public void TypeDecl.CS_info(CS_env env, String namespace) {
env.print(";C#;typedef;" + namespace + getName() + ";");
getType().CS_emitType(env) ;
getDataType().CS_emitType(env) ;
env.print(";not_applicable_for_C#");
env.println();
}
public void SampleDecl.CS_info(CS_env env, String namespace) {
env.print(";C#;sample;" + namespace + getName() + ";");
getType().CS_emitType(env);
getDataType().CS_emitType(env);
env.print(";not_applicable_for_C#");
env.println();
}
......
......@@ -158,20 +158,20 @@ aspect C_CodeGenEnv {
aspect C_IsDynamic {
// Determine if a type has dynamically allocated data
syn boolean Decl.C_isDynamic() = getType().C_isDynamic();
syn boolean Type.C_isDynamic() = false;
syn boolean Decl.C_isDynamic() = getDataType().C_isDynamic();
syn boolean DataType.C_isDynamic() = false;
syn boolean PrimType.C_isDynamic() = getToken() == LABCOMM_STRING;
syn boolean UserType.C_isDynamic() =
lookupType(getName()).getType().C_isDynamic();
lookupType(getName()).getDataType().C_isDynamic();
syn boolean StructType.C_isDynamic() {
for (int i = 0 ; i < getNumField() ; i++) {
if (getField(i).getType().C_isDynamic()) {
if (getField(i).getDataType().C_isDynamic()) {
return true;
}
}
return false;
}
syn boolean FixedArrayType.C_isDynamic() = getType().C_isDynamic();
syn boolean FixedArrayType.C_isDynamic() = getDataType().C_isDynamic();
syn boolean VariableArrayType.C_isDynamic() = true;
}
......@@ -272,7 +272,7 @@ aspect C_Type {
public void TypeDecl.C_emitType(C_env env) {
env.println("#ifndef LABCOMM_DEFINED_" + env.prefix + getName());
env.print("typedef ");
getType().C_emitType(env, env.prefix + getName());
getDataType().C_emitType(env, env.prefix + getName());
env.println(";");
env.println("#define LABCOMM_DEFINED_" + env.prefix + getName());
env.println("#endif");
......@@ -281,7 +281,7 @@ aspect C_Type {
public void SampleDecl.C_emitType(C_env env) {
env.println("#ifndef LABCOMM_DEFINED_" + env.prefix + getName());
env.print("typedef ");
getType().C_emitType(env, env.prefix + getName());
getDataType().C_emitType(env, env.prefix + getName());
env.println(";");
env.println("#define LABCOMM_DEFINED_" + env.prefix + getName());
env.println("#endif");
......@@ -290,7 +290,7 @@ aspect C_Type {
";");
}
public void Type.C_emitType(C_env env, String name) {
public void DataType.C_emitType(C_env env, String name) {
throw new Error(this.getClass().getName() +
".C_emitType(C_env env, String name)" +
" not declared");
......@@ -333,7 +333,7 @@ aspect C_Type {
}
public void Field.C_emitType(C_env env) {
getType().C_emitType(env, getName());
getDataType().C_emitType(env, getName());
}
public void FixedArrayType.C_emitType(C_env env, String name) {
......@@ -343,7 +343,7 @@ aspect C_Type {
for (int i = 0 ; i < getNumExp() ; i++) {
index.append("[" + getExp(i).C_getValue() + "]");
}
getType().C_emitType(env, index.toString());
getDataType().C_emitType(env, index.toString());
env.println(";");
env.unindent();
env.print("} " + name);
......@@ -359,7 +359,7 @@ aspect C_Type {
env.println("// n_" + i + "=" + getExp(i).C_getValue());
}
}
getType().C_emitType(env, "*a");
getDataType().C_emitType(env, "*a");
env.println(";");
env.unindent();
env.print("} " + name);
......@@ -502,12 +502,12 @@ aspect C_Decoder {
env.println("{");
env.indent();
env.println(env.prefix + getName() + " v;");
getType().C_emitDecoder(env);
getDataType().C_emitDecoder(env);
env.println("handle(&v, context);");
if (C_isDynamic()) {
env.println("{");
env.indent();
getType().C_emitDecoderDeallocation(env);
getDataType().C_emitDecoderDeallocation(env);
env.unindent();
env.println("}");
}
......@@ -515,7 +515,7 @@ aspect C_Decoder {
env.println("}");
}
public void Type.C_emitDecoder(C_env env) {
public void DataType.C_emitDecoder(C_env env) {
throw new Error(this.getClass().getName() +
".C_emitDecoder(C_env env)" +
" not declared");
......@@ -538,7 +538,7 @@ aspect C_Decoder {
}
public void UserType.C_emitDecoder(C_env env) {
lookupType(getName()).getType().C_emitDecoder(env);
lookupType(getName()).getDataType().C_emitDecoder(env);
}
public void StructType.C_emitDecoder(C_env env) {
......@@ -563,7 +563,7 @@ aspect C_Decoder {
env.indent();
}
C_emitCalcIndex(env);
getType().C_emitDecoder(C_Nest(env));
getDataType().C_emitDecoder(C_Nest(env));
for (int i = getNumExp() - 1 ; i >= 0 ; i--) {
env.unindent();
env.println("}");
......@@ -573,7 +573,7 @@ aspect C_Decoder {
}
public void Field.C_emitDecoder(C_env env) {
getType().C_emitDecoder(env.nestStruct("." + getName()));
getDataType().C_emitDecoder(env.nestStruct("." + getName()));
}
public void Exp.C_emitDecoderDecodeLimit(C_env env, int i) {
......@@ -604,7 +604,7 @@ aspect C_Decoder {
// Code for deallocation of dynamically allocated data
public void Type.C_emitDecoderDeallocation(C_env env) {
public void DataType.C_emitDecoderDeallocation(C_env env) {
throw new Error(this.getClass().getName() +
".C_emitDecoderDeallocation(C_env env)" +
" not declared");
......@@ -619,7 +619,7 @@ aspect C_Decoder {
public void UserType.C_emitDecoderDeallocation(C_env env) {
if (C_isDynamic()) {
lookupType(getName()).getType().C_emitDecoderDeallocation(env);
lookupType(getName()).getDataType().C_emitDecoderDeallocation(env);
}
}
......@@ -632,7 +632,7 @@ aspect C_Decoder {
}
public void ArrayType.C_emitDecoderDeallocation(C_env env) {
if (getType().C_isDynamic()) {
if (getDataType().C_isDynamic()) {
env.println("{");
env.indent();
C_emitLoopVariables(env);
......@@ -646,7 +646,7 @@ aspect C_Decoder {
env.indent();
}
C_emitCalcIndex(env);
getType().C_emitDecoderDeallocation(C_Nest(env));
getDataType().C_emitDecoderDeallocation(C_Nest(env));
for (int i = 0 ; i < getNumExp() ; i++) {
env.unindent();
env.println("}");
......@@ -663,7 +663,7 @@ aspect C_Decoder {
}
public void Field.C_emitDecoderDeallocation(C_env env) {
getType().C_emitDecoderDeallocation(env.nestStruct("." + getName()));
getDataType().C_emitDecoderDeallocation(env.nestStruct("." + getName()));
}
public void Decl.C_emitDecoderRegisterHandler(C_env env) {
......@@ -748,12 +748,12 @@ aspect C_copy {
env_src.println("");
env_src.println("{");
env_src.indent();
getType().C_emitCopy(env_src, env_dst);
getDataType().C_emitCopy(env_src, env_dst);
env_src.unindent();
env_src.println("}");
}
public void Type.C_emitCopy(C_env env_src, C_env env_dst) {
public void DataType.C_emitCopy(C_env env_src, C_env env_dst) {
throw new Error(this.getClass().getName() +
".C_emitCopy(C_env env)" +
" not declared");
......@@ -780,7 +780,7 @@ aspect C_copy {
}
public void UserType.C_emitCopy(C_env env_src, C_env env_dst) {
lookupType(getName()).getType().C_emitCopy(env_src, env_dst);
lookupType(getName()).getDataType().C_emitCopy(env_src, env_dst);
}
public void StructType.C_emitCopy(C_env env_src, C_env env_dst) {
......@@ -805,7 +805,7 @@ aspect C_copy {
env_src.indent();
}
C_emitCalcIndex(env_src);
getType().C_emitCopy(C_Nest(env_src), C_Nest(env_dst));
getDataType().C_emitCopy(C_Nest(env_src), C_Nest(env_dst));
for (int i = getNumExp() - 1 ; i >= 0 ; i--) {
env_src.unindent();
env_src.println("}");
......@@ -816,7 +816,7 @@ aspect C_copy {
public void Field.C_emitCopy(C_env env_src, C_env env_dst) {
String fnam = env_src.memberAccessor() + getName();
getType().C_emitCopy(env_src.nestStruct(fnam), env_dst.nestStruct(fnam));
getDataType().C_emitCopy(env_src.nestStruct(fnam), env_dst.nestStruct(fnam));
}
public void Exp.C_emitCopyDecodeLimit(C_env env_src, C_env env_dst, int i) {
......@@ -889,12 +889,12 @@ aspect C_copy {
env.println("");
env.println("{");
env.indent();
getType().C_emitCopyDeallocation(env);
getDataType().C_emitCopyDeallocation(env);
env.unindent();
env.println("}");
}
public void Type.C_emitCopyDeallocation(C_env env) {
public void DataType.C_emitCopyDeallocation(C_env env) {
throw new Error(this.getClass().getName() +
".C_emitCopyDeallocation(C_env env)" +
" not declared");
......@@ -912,7 +912,7 @@ aspect C_copy {
public void UserType.C_emitCopyDeallocation(C_env env) {
if (C_isDynamic()) {
lookupType(getName()).getType().C_emitCopyDeallocation(env);
lookupType(getName()).getDataType().C_emitCopyDeallocation(env);
}
}
......@@ -925,7 +925,7 @@ aspect C_copy {
}
public void ArrayType.C_emitCopyDeallocation(C_env env) {
if (getType().C_isDynamic()) {
if (getDataType().C_isDynamic()) {
env.println("{");
env.indent();
C_emitLoopVariables(env);
......@@ -939,7 +939,7 @@ aspect C_copy {
env.indent();
}
C_emitCalcIndex(env);
getType().C_emitCopyDeallocation(C_Nest(env));
getDataType().C_emitCopyDeallocation(C_Nest(env));
for (int i = 0 ; i < getNumExp() ; i++) {
env.unindent();
env.println("}");
......@@ -956,7 +956,7 @@ aspect C_copy {
}
public void Field.C_emitCopyDeallocation(C_env env) {
getType().C_emitCopyDeallocation(env.nestStruct(env.memberAccessor()
getDataType().C_emitCopyDeallocation(env.nestStruct(env.memberAccessor()
+ getName()));
}
}
......@@ -1023,7 +1023,7 @@ aspect C_Encoder {
env.println("{");
env.indent();
env.println("int result = 0;");
getType().C_emitEncoder(env);
getDataType().C_emitEncoder(env);
env.println("return result;");
env.unindent();
env.println("}");
......@@ -1047,7 +1047,7 @@ aspect C_Encoder {
env.println("}");
}
public void Type.C_emitEncoder(C_env env) {
public void DataType.C_emitEncoder(C_env env) {
throw new Error(this.getClass().getName() +
".C_emitEncoder(C_env env)" +
" not declared");
......@@ -1074,7 +1074,7 @@ aspect C_Encoder {
}
public void UserType.C_emitEncoder(C_env env) {
decl().getType().C_emitEncoder(env);
decl().getDataType().C_emitEncoder(env);
}
public void StructType.C_emitEncoder(C_env env) {
......@@ -1098,7 +1098,7 @@ aspect C_Encoder {
env.indent();
}
C_emitCalcIndex(env);
getType().C_emitEncoder(C_Nest(env));
getDataType().C_emitEncoder(C_Nest(env));
for (int i = getNumExp() - 1 ; i >= 0 ; i--) {
env.unindent();
env.println("}");
......@@ -1108,7 +1108,7 @@ aspect C_Encoder {
}