ho voluto sperimentare con il Shakespeare programming language, così ho scaricato da here ed eseguito il Makefile utilizzando cd spl-1.2.1
Make
.compilazione e l'esecuzione del linguaggio di programmazione Shakespeare traduttore spl2c su Mac OS X 10.6 risultati in avvisi/errori
La compilazione di spl2c
esegue con un paio di avvertenze:
scanner.l:600: warning, rule cannot be matched
<stdout>:5808: warning: ‘yyunput’ defined but not used
E poi, quando si tenta di compilare tutti gli esempi tutto va in tilt:
../spl/bin/spl2c <fibonacci.spl> fibonacci.c
Warning at line 19: equality expected
Warning at line 28: equality expected
Warning at line 30: comment expected
Warning at line 30: comment expected
Warning at line 30: comment expected
Warning at line 30: comment expected
Warning at line 32: comment expected
Warning at line 32: comment expected
Warning at line 32: comment expected
Warning at line 32: comment expected
Warning at line 34: comment expected
Warning at line 34: comment expected
Warning at line 34: comment expected
Warning at line 34: comment expected
Warning at line 36: comment expected
Warning at line 36: comment expected
Warning at line 37: comment expected
Warning at line 37: comment expected
Warning at line 37: comment expected
Warning at line 37: colon expected
Warning at line 40: equality expected
Warning at line 51: comment expected
Warning at line 51: comment expected
Warning at line 51: comment expected
Warning at line 51: comment expected
Warning at line 51: comment expected
Warning at line 51: colon expected
Error at line 59: 'act [roman number]' or 'scene [roman number]' expected
1 errors and 27 warnings found. No code output.
Qualcuno mi può puntare nella giusta direzione per risolvere questo? Il mio progetto originale sarebbe stato imparare a spl, non ad appoggiare i compilatori di debug (mi piacerebbe davvero scrivere il mio compilatore alla fine, ma per ora preferirei mantenere il mio progetto iniziale).
Sono in esecuzione OS X 10.6.2
, gcc version 4.2.1 (Apple Inc. build 5646) (dot 1)
, flex 2.5.35
e bison (GNU Bison) 2.3
.
EDIT: Per i programmi semplici che non richiedono goto (ad es hello.spl) si può aggirare il problema eliminando tutte le linee di ACT/SCENE tranne il primo atto di I/SCENA I.
Ditto-et. Grazie Kyle. Marlowe è stato incorporato in OpenCOBOL, COBILL. –
Parlando di negromanzia: in realtà, la diagnosi presentata qui non è corretta. L'espressione regolare originale funzionerebbe così come la sostituzione suggerita. Tuttavia, c'è stato un bug in flessione per circa un decennio che ha comportato l'uso di ripetizioni rinforzate con argomenti insensibili alle maiuscole e minuscole. L'ho segnalato su https://github.com/westes/flex/issues/193 – rici