Usuwanie komentarzy z kody C/C++/Java

0

Jak usunąć komentarze z kodu C/C++/Javy? Na razie udało mi się usunąć tylko jednolinijkowe, ale co wielolinijkowymi? Może mógłby ktoś podrzucić pomysł? Tyle mam na razie:

# -*- coding: utf-8 -*-
#!/usr/bin/env python

plik = "plik.cpp"
try :
  with open(plik, 'r') as filename :
    for line in filename :
      line = line.lstrip()
      if not line.startswith("//"):
        print(line)
except IOError :
  print(u"Błąd")
0

hint: maszyna stanów.

0

Dodatkowo, żeby to zrobić w C/C++ w pełni poprawnie to musisz zrobić kilka przelotów, lub pobawić się w jakieś opcje używanego parsera (ciąg znaków "/N" gdzie N to nowa linia otwiera komentarz). Większość programów np. do kolorowania składni tę regułę ignoruje. Na pewno trzeba dodać parsowanie stringów, dodatkowo w C '/*' jest poprawną zmienną typu int. Dodatkowo preprocesor może namieszać z komentarzami, przez include komentarz może przechodzić do nowego pliku. Dodatkowo są jeszcze takie rzeczy jak trójznaki. Ja pewnie bym do tego użył PLY, poświęcając trochę z pełnej poprawności.

1 użytkowników online, w tym zalogowanych: 0, gości: 1