Domanda

Voglio scrivere C in S-espressioni e utilizzare in fase di compilazione macro. Qualcuno sa di tutto ciò che fa questo? Si dovrebbe trasferire gli s-espressioni in standard C.

Altri suggerimenti

Forse si vuole qualcosa di simile a ECL , che compila Common Lisp a C.

In che senso? Qualcosa sulla falsariga di:

(c-expression 
  (int main ((int argc) ((array (pointer char)) argv)
    (block
      (printf "%d arguments\n" argc)
      (if (argc >= 1)
        (printf "The first arg is %s\n" (ref argv 1)))
      (return 0))))
=>
"int main (int argc, char *argv[])
{
  printf("%d arguments\n", argc);
  if (argc >= 1)
    printf(The first arg is %s\n", argv[1]);
  return 0;
}

Se è così, sì, è sicuramente fattibile. Tuttavia, non è del tutto banale.

Dai un'occhiata alla SC di Tasuku Hiraishi. Le sue carte Conferenza internazionale Lisp da 2005 e 2007 sono archiviati in archive.org.

repo , in particolare la esempi .

A mia conoscenza che è il migliore dei molti tentativi di portare lo stile-Expression S codifica pratiche esercitate su un progetto altrimenti vaniglia C.

So che questo è un vecchio post, ma per la cronaca, credo che questo sia ciò che viene chiesto.

Questo progetto traduce programmi C scritto in uno stile s-espressioni a C. E le grandi opere e anche compila il codice per voi, se lo si imposta a destra.

Non so che produce l'output di codice C più leggibile al momento però.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top