Парсинг Си++ файла
От: adontz Грузия http://adontz.wordpress.com/
Дата: 06.04.06 01:23
Оценка:
Есть задача частично (что значит частично, сейчас поймёте) распарсить Си++ файл.

То есть, пусть есть файл вида
template <typename T>
class A
{
 private:
  int a;
  B<x> b;
 public:
  A()
  {
    float x = 5.6;
    cout<<""countructor! wow!";
  }
  int verycoolmethod(char * some_parameter, const int & another_param)
  {
    return 37;
  }
}

Надо получить информацию вида
class|A|T
  field|int|a|private
  field|B<x>|b|private
  method|.ctor|void
    variable|x|float
  method|verycoolmethod|int
    parameter|some_parameter|char *
    parameter|another_parameter|const int &

то есть фактически выдрать все описания. Как/чем это проще всего сделать?
приблуды от MS типа
class A
{
  int _i;
  void putprop(int i)
  { 
     _i = i;
  }

  int getprop()
  {
    return _i;
  }

  __declspec(property(get = getprop, put = putprop)) int the_prop;
};

будут

Тыканье в документацию и ссылки на готовые решения приветствуется.

Глобальная задача — сделать вменяемую подсветку синтаксиса и автокомплит для языка очень похожего на Си++.
A journey of a thousand miles must begin with a single step © Lau Tsu
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.