XML-представление кода Java [duplicate]

Ссылка NullReferenceException или Object, не установленная на экземпляр объекта, возникает, когда объект класса, который вы пытаетесь использовать, не создается. Например:

Предположим, что у вас есть класс с именем Student.

public class Student
{
    private string FirstName;
    private string LastName;
    public string GetFullName()
    {
        return FirstName + LastName;
    }
}

Теперь рассмотрим другой класс, в котором вы пытаетесь получить полное имя учащегося.

public class StudentInfo
{      
    public string GetStudentName()
    {
        Student s;
        string fullname = s.GetFullName();
        return fullname;
    }        
}

Как видно из вышеприведенного кода, оператор Student s - объявляет только переменную типа Student, обратите внимание, что класс Student не создается в этой точке. Следовательно, когда выполняется выполнение инструкции s.GetFullName (), она выкинет исключение NullReferenceException.

2
задан Johannes 24 October 2011 в 21:35
поделиться

2 ответа

Не какие-либо инструменты напрямую, но http://www.antlr.org/ - это инструмент defacto для создания АСТ с любого общего языка. И существует несколько файлов грамматики для Java, которые вы можете перепрофилировать для своих собственных программ. Итак, возьмите ANTLR, используйте последний грамматик Java и напишите желаемое XML-представление.

2
ответ дан chubbsondubs 26 August 2018 в 22:13
поделиться

Наш DMS Software Reengineering Toolkit с его интерфейсом Java может сделать это напрямую. Вы просите DMS проанализировать файл и создать дамп XML с помощью командной строки switch ++ XML.

См. . Будет ли отображаться AST (абстрактное синтаксическое дерево) для объектно-ориентированного языка программирования например, .

Как правило, мы не рекомендуем это по нескольким причинам:

  • Выход XML для реальных файлов действительно огромен, и занимает много времени, чтобы писать и читать
  • . Большинство людей делают это, потому что они верят с представлением XML, что только немного XSLT получит их, что они хотят
  • Если вы намереваетесь чтобы изменить код, как только у вас есть XML, вы в значительной степени не сможете его восстановить.
  • Механизм, предоставляемый DMS (атрибутные грамматики, таблицы символов, анализ потоков, сопоставление шаблонов и преобразования источника в источник , регенерация источника из AST, это то, что вы действительно хотите, и вы получаете доступ к нему, используя DMS после этапа синтаксического анализа без экспорта XML-файла
2
ответ дан Community 26 August 2018 в 22:13
поделиться
Другие вопросы по тегам:

Похожие вопросы: