На стороне с прошлого года я пишу интерпретатор для HTML. Я не думаю, что HTML - очень хороший язык, и подумал, что мог бы создать интерпретатор, который переведет мой красивый код в HTML для использования в Интернете.
Это работает очень хорошо, и я использую его в небольшом веб-приложении, но у меня возникла проблема с парсингом конкретной строки, и я был бы признателен за любые советы о том, как мне это сделать.
Мой код:
HmtlDocument {
Page.Title: "Test webpage using JTHtml";
Using[] {
"../Assets/Stylesheets/default.css",
"../Assets/Scripts/slidercordian",
"../Assets/Scripts/jquery.1.4.1.js"
};
HtmlBody {
HtmlElement Divider(container) {
HtmlElement Divider(Header) {
HtmlElement Image(Logo, "../Assets/Images/logo.png");
HtmlElement Menu(MainMenu, Horizontal, Ul, li) {
li.Text: "Home", "index.html";
li.Text: "About Us", "about.html";
li.Text: "Services", "services.html";
li.Text: "Contact Us", "contact.html";
li.Text: "My Account", "../myaccount/default.html";
}
}
HtmlElement Divider(MainContent) {
HtmlElement Heading(Heading, 1) {
Heading.Text: "Welcome!";
}
HtmlElement Text(Text) {
Text.Text: "Welcome to my new website written purely in jthtml";
}
}
}
}
Видите ли, у меня проблема со следующей строкой:
li.Text: "[value]", [resource]";
Старый способ, которым у меня было это, было написать это так:
li.Text("[value]", "[resource]");
Однако, это не совсем верно для остальной части синтаксиса, поэтому я хотел бы оставить это так:
li.Text: "[value]", "[resource]";
Но я просто не уверен, как бы я проанализировал эту строку. Я застреваю из-за первой закрывающей кавычки и следующей запятой, пробела и второй открывающей кавычки. Я не могу понять правильную логику для этого.
Любая помощь приветствуется.
Спасибо!