33 FD_DCG(
"GebtoolsCodeGenerator(" <<
this <<
")::GebtoolsCodeGenerator()");
39 FD_DCG(
"GebtoolsCodeGenerator(" <<
this <<
")::~GebtoolsCodeGenerator()");
45 FD_DCG(
"GebtoolsCodeGenerator::Clear()");
54 FD_DCG(
"GebtoolsCodeGenerator::DoReadTargetConfiguration()");
59 if(rTr.ExistsBegin(
"IecTypedArrayConstants")) {
60 rTr.ReadBegin(
"IecTypedArrayConstants",token);
62 rTr.ReadEnd(
"IecTypedArrayConstants");
68 FD_DCG(
"GebtoolsCodeGenerator::DoWriteTargetConfiguration()");
73 token.SetEmpty(
"IecTypedArrayConstants");
97 Comment(
"************************************************");
98 Comment(
"* array types --- GEB IDE specific *");
99 Comment(
"************************************************");
108 EventSetDeclare(
AA(
"aux_locenabled"));
109 EventSetDeclare(
AA(
"aux_executables"));
117 Comment(
"************************************************");
118 Comment(
"* function block to host cyclic code *");
119 Comment(
"************************************************");
151 Output() <<
"VAR_EXTERNAL";
169 Output() <<
"END_FUNCTION_BLOCK (* end of " <<
mPrefix <<
"cyclic_fb *)";
180 Comment(
"************************************************");
181 Comment(
"* initialised array types --- GEB IDE specific *");
182 Comment(
"************************************************");
215 FCG_ERR(
"GebtoolsCodeGenerator::Cintarray(): ignoring empty const vector");
219 FCG_ERR(
"GebtoolsCodeGenerator::Cwordarray(): const vector exceeds address range");
247 FCG_ERR(
"GebtoolsCodeGenerator::Cwordarray(): ignoring empty const vector");
251 FCG_ERR(
"GebtoolsCodeGenerator::Cwordarray(): const vector exceeds addres range");
279 FCG_ERR(
"GebtoolsCodeGenerator::Cstrarray(): ignoring empty const vector");
283 FCG_ERR(
"GebtoolsCodeGenerator::Cstrarray(): const vector exceeds addres range");
293 for(
size_t i=0; i<val.size(); ++i)
294 if(val[i].size()>len) len=val[i].size();
300 Output() <<
TargetAddress(address) <<
"_st" <<
" : STRING[" << ToStringInteger(len) <<
"];";
319 FCG_ERR(
"GebtoolsCodeGenerator::Intarray(): ignoring empty const vector");
323 FCG_ERR(
"GebtoolsCodeGenerator::Intarray(): const vector exceeds addres range");
351 FCG_ERR(
"GebtoolsCodeGenerator::Intarray(): ignoring empty vector");
354 if(((
unsigned long long) len) >= (1ULL << (
mIntegerSize-1))) {
355 FCG_ERR(
"GebtoolsCodeGenerator::Intarray(): const vector exceeds addres range");
378 FCG_ERR(
"GebtoolsCodeGenerator::Wordarray(): ignoring empty const vector");
382 FCG_ERR(
"GebtoolsCodeGenerator::Wordarray(): const vector exceeds addres range");
410 FCG_ERR(
"GebtoolsCodeGenerator::Wordarray(): ignoring empty vector");
413 if(((
unsigned long long) len) >= (1ULL << (
mIntegerSize-1))) {
414 FCG_ERR(
"GebtoolsCodeGenerator::Wordarray(): const vector exceeds addres range");