Здравствуйте, c-smile, Вы писали:
CS>По идее всем scripting языкам такое бы не помешало. Может кто-то видел что похожее?
Видел macro-runtime-EDSL который умеет строить/оптимизировать AST, захватывать переменные и вызывать внешний компилятор.
TaskGraph (
1,
2):
int main( int argc, char *argv[] ) {
TG_IntResIntArg T;
int n = atoi( argv[1] );
taskgraph( TG_IntResIntArg, T, tuple1(a) ) {
tVar(int, i);
tVar(int, j);
tFor(i, 0, n-1) {
tFor(j, 0, n-1) {
tPrintf("Iteration i=%d, j=%d\n", i, j);
}
}
tReturn(a + n);
}
InterchangeSettings inter;
inter.firstLoop = LoopIdentifier ( 1 );
inter.secondLoop = LoopIdentifier ( 1, 1 );
T.applyOptimisation ( "interchange", &inter );
T.compile( tg::GCC, true );
printf( "T(%d) = %d\n", n, T(n) );
}