Próbuję napisać maszynę stanu, która wyłudza plik źródłowy i dzieli go na sekcje, które są albo biznesem kompilatora, albo biznesem preprocesora. Nie jest to głębokie przejście, szukam tylko sekcji, które są komentarzami lub dyrektywami preprocesora. (brak makr, brak kompilacji warunkowo bloków itp.)Gdzie jest legalne określenie dyrektywy preprocesora?
Komentarze są dość proste, ale nie jestem w 100% pewny, gdzie dozwolone jest określenie dyrektywy preprocesora. Na przykład, czy poniższy wiersz jest legalny?
int i; #include <derp.h>
Czy są jakieś specjalne przypadki, w których niektóre dyrektywy są dozwolone, a inne nie?
Szukałem google i SO i nie znalazłem odpowiedzi na to pytanie.
Proszę odpowiedzieć dla OBU C i C++, oznaczyłem świadomie i celowo.
Jeśli próbujesz dokonać parsera, to naprawdę powinien być pomocą ostateczne gramatyki dla języka (czyli standardowe (s)) , zamiast polegać na odpowiedziach udzielonych przez omylnych śmiertelników tutaj na SO! –
Czy próbowałeś już google? – xaxxon
Tak, próbowałem google. Mówi tak, właśnie w tym pytaniu. – Wug