ВАЖНО!(Задача учебная прошу не выпускать гнев) В общем необходимо написать свой сериализатор объектов. В одну сторону я справился без проблем. То есть есть у меня вот такой класс 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<>(....);
По этому дереву проитерироваться и создать исходный класс через рефлексию
Кофе для программистов: как напиток влияет на продуктивность кодеров?
Рекламные вывески: как привлечь внимание и увеличить продажи
Стратегії та тренди в SMM - Технології, що формують майбутнє сьогодні
Выделенный сервер, что это, для чего нужен и какие характеристики важны?
Современные решения для бизнеса: как облачные и виртуальные технологии меняют рынок
Есть ли какая-нибудь возможность создать метод, который превратит строку в необходимое значение нужного типаПредполагаю использовать типы...
Программа бросает 2 кости 20 разНужно вывести в одномерном массиве сколько раз выпала каждая сумма (к примеру 1+1-2 3 раза и так до 12)
Собственно интересно как лучше поступать - создавать переменные с byte или с int, если известно что число никогда не будет больше границ byte;