ВАЖНО!(Задача учебная прошу не выпускать гнев) В общем необходимо написать свой сериализатор объектов. В одну сторону я справился без проблем. То есть есть у меня вот такой класс X
class L {
}
class P {
int z = 6;
int g = 8;
L p = new L();
}
class X {
int x;
int y;
P z;
public X(int x, int y) {
z = new P();
this.x = x;
this.y = y;
}
}
Он превращается в
root:X={x:int=3, y:int=4, z:P={z:int=6, g:int=8, p:L={}}}
Я не могу придумать как его распарсить. Лексер я написал. Но вот как написать на мой формат синтаксический анализатор я не знаю. Мозгов не хватает. Моя идея такова Из вот таких элементов создать дерево
class Item {
public Token type;
public Token name;
public Token value;
public Item(Token name, Token type, Token value){
this.type = type;
this.name = name;
this.value = value;
}
var tree = new TreeNode<>(....);
По этому дереву проитерироваться и создать исходный класс через рефлексию
Основные этапы разработки сайта для стоматологической клиники
Продвижение своими сайтами как стратегия роста и независимости