Muszę napisać program w awk, który będzie tworzył stronę html na podstawie kodu w c. Ma on wyszczególniać słowa kluczowe itp. W zasadzie udało mi się coś stworzyć jednak zauważyłem pewien problem. Teraz również wyrażenia w "" są interpretowane jako słowa kluczowe i dostaję np w miejscu tekstu "przebyte" tekst "prze
bytee" co jest niedopuszczalne. Domyślam się, że należało by użyć pól i zmienić separator na " ale nie bardzo wiem jak to zrobić. Poniżej zamieszczam to co narazie spłodziłem. Proszę o jakieś sugestie.
BEGIN {
print "";
print "";
print "";
print "";
print "";
print "
";
}
//*/ {komentarz=1};
/*// {komentarz=0};
/[/][/]/ { sub ( "[/][/].*", "&" ); print; next;}
/"/ {
if ( komentarz != 1 ) {
gsub ( "return", "&" );
gsub ( "if", "&" );
gsub ( "while", "&" );
gsub ( "for", "&" );
gsub ( "exit", "&" );
gsub ( "continue", "&" );
gsub ( "break", "&" );
gsub ( "do", "&" );
gsub ( "{", "&" );
gsub ( "}", "&" );
gsub ( "void", "&" );
gsub ( "int", "&" );
gsub ( "double", "&" );
gsub ( "byte", "&" );
gsub ( "short", "&" );
gsub ( "float", "&" );
gsub ( "string", "&" );
gsub ( "char", "&" );
gsub ( "#include ", "&" );
gsub ( "#define ", "&" );
gsub ( "*/", "&" ); print;
}
else{
gsub ( "[/]
}
}
END {
print "
";
print "";
print "";
}