Мне нужно разработать приложение, которое будет читать и понимать текстовый файл, в котором я найду собственный язык, описывающий список операций (например, рецепт приготовления). Этот язык еще не определен, но, вероятно, он примет одну из следующих форм:
(Этот код генерируется случайным образом, только для примера):
begin
repeat(10)
{
bar(toto, 10, 1999, xxx);
}
result = foo(xxxx, 10);
if(foo == ok)
{
...
}
else
{
...
}
end
(Этот код генерируется случайным образом, только для примера):
<recipe>
<action name="foo" argument"bar, toto, xxx" repeat=10/>
<action name="bar" argument"xxxxx;10" condition="foo == ok">
<true>...</true>
<false>...</false>
</action>
</recipe>
Независимо от того, какой язык будет выбран, придется обрабатывать простые условия, циклы.
Я никогда такого не делал, но на первый взгляд мне приходит в голову, что описание этих операций в XML было бы проще, но менее мощным.
После просмотра StackOverFlow я нашел несколько чатов для инструмента под названием «ANTLR» ... Я начал читать «Подробную справку по ANTLR», но так как я никогда не делал такого рода вещи, мне трудно понять, если это действительно тот инструмент, который мне нужен ...
Другими словами, что мне нужно, чтобы прочитать текстовый файл, правильно его интерпретировать и выполнить действия в моем коде C #. Эти операции будут взаимодействовать между собой с помощью простых условий, таких как:
- Если операция 1 завершилась неудачей, я делаю операцию 2, иначе операция 3.
- Повторите операцию4 10 раз.
Какой язык лучше всего подходит для описания этих текстовых файлов (XML, мой собственный)? Каковы ключевые моменты во время таких разработок?
Надеюсь, я прояснил:)
Большое спасибо за вашу помощь и советы!