<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="ru">
		<id>http://mit.spbau.ru/sewiki/index.php?action=history&amp;feed=atom&amp;title=Generative_Programming_Homework_1</id>
		<title>Generative Programming Homework 1 - История изменений</title>
		<link rel="self" type="application/atom+xml" href="http://mit.spbau.ru/sewiki/index.php?action=history&amp;feed=atom&amp;title=Generative_Programming_Homework_1"/>
		<link rel="alternate" type="text/html" href="http://mit.spbau.ru/sewiki/index.php?title=Generative_Programming_Homework_1&amp;action=history"/>
		<updated>2026-04-18T17:45:17Z</updated>
		<subtitle>История изменений этой страницы в вики</subtitle>
		<generator>MediaWiki 1.26.2</generator>

	<entry>
		<id>http://mit.spbau.ru/sewiki/index.php?title=Generative_Programming_Homework_1&amp;diff=2565&amp;oldid=prev</id>
		<title>Mikhail: переименовал «Generative Programming Homework» в «Generative Programming Homework 1»</title>
		<link rel="alternate" type="text/html" href="http://mit.spbau.ru/sewiki/index.php?title=Generative_Programming_Homework_1&amp;diff=2565&amp;oldid=prev"/>
				<updated>2013-09-11T20:07:17Z</updated>
		
		<summary type="html">&lt;p&gt;переименовал «&lt;a href=&quot;/sewiki/index.php/Generative_Programming_Homework&quot; class=&quot;mw-redirect&quot; title=&quot;Generative Programming Homework&quot;&gt;Generative Programming Homework&lt;/a&gt;» в «&lt;a href=&quot;/sewiki/index.php/Generative_Programming_Homework_1&quot; title=&quot;Generative Programming Homework 1&quot;&gt;Generative Programming Homework 1&lt;/a&gt;»&lt;/p&gt;
&lt;table class='diff diff-contentalign-left'&gt;
				&lt;tr style='vertical-align: top;' lang='ru'&gt;
				&lt;td colspan='1' style=&quot;background-color: white; color:black; text-align: center;&quot;&gt;← Предыдущая&lt;/td&gt;
				&lt;td colspan='1' style=&quot;background-color: white; color:black; text-align: center;&quot;&gt;Версия 20:07, 11 сентября 2013&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan='2' style='text-align: center;' lang='ru'&gt;&lt;div class=&quot;mw-diff-empty&quot;&gt;(нет различий)&lt;/div&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</summary>
		<author><name>Mikhail</name></author>	</entry>

	<entry>
		<id>http://mit.spbau.ru/sewiki/index.php?title=Generative_Programming_Homework_1&amp;diff=2564&amp;oldid=prev</id>
		<title>Mikhail: Новая страница: «&lt;b&gt;1. Парсер упрощенного XML&lt;/b&gt;, срок сдачи до 15.09.2013 &lt;br&gt; Написать на Textmapper (плагин к IntelliJ IDEA) парс…»</title>
		<link rel="alternate" type="text/html" href="http://mit.spbau.ru/sewiki/index.php?title=Generative_Programming_Homework_1&amp;diff=2564&amp;oldid=prev"/>
				<updated>2013-09-11T20:05:01Z</updated>
		
		<summary type="html">&lt;p&gt;Новая страница: «&amp;lt;b&amp;gt;1. Парсер упрощенного XML&amp;lt;/b&amp;gt;, срок сдачи до 15.09.2013 &amp;lt;br&amp;gt; Написать на Textmapper (плагин к IntelliJ IDEA) парс…»&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Новая страница&lt;/b&gt;&lt;/p&gt;&lt;div&gt;&amp;lt;b&amp;gt;1. Парсер упрощенного XML&amp;lt;/b&amp;gt;, срок сдачи до 15.09.2013 &amp;lt;br&amp;gt;&lt;br /&gt;
Написать на Textmapper (плагин к IntelliJ IDEA) парсер текста вида:&lt;br /&gt;
 &amp;lt;br&amp;gt;&amp;lt;asdf1&amp;gt; &lt;br /&gt;
 &amp;lt;br&amp;gt;    &amp;lt;abc&amp;gt;text 123&amp;lt;/abc&amp;gt; &lt;br /&gt;
 &amp;lt;br&amp;gt;   &amp;lt;zxcv2&amp;gt; text text&amp;lt;/zxcv2&amp;gt; &lt;br /&gt;
 &amp;lt;br&amp;gt;&amp;lt;/asdf1&amp;gt;&lt;br /&gt;
Написать программу, использующую сгенеренный парсер. На вход программе подается файл с текстом. Программа выписывает в консоль полученное от парсера AST или выводит ошибки, возникшие при разборе (в случае, когда они есть). Как передается файл и как выводится дерево - не важно, главное, чтобы было понятно, как запустить программу, и что получилось в итоге.&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
'''Спецификация языка'''&lt;br /&gt;
*Теги бывают вида &amp;lt;xyz&amp;gt; и &amp;lt;/xyz&amp;gt;, но не &amp;lt;xyz/&amp;gt;&lt;br /&gt;
*Внутри каждого тега может быть '''либо''' несколько тегов, '''либо''' один кусок текста. Текст состоит из слов, каждое из которых - набор букв. Имя тега - набор букв (без цифр). Корневой тег - ровно один&lt;br /&gt;
*Теги должны образовывать правильную скобочную структуру. Hint: проверку соответствия идентификаторов открывающего и закрывающего тегов проще всего сделать через semantic actions (см. документацию).&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
'''Приблизительная разбалловка'''&lt;br /&gt;
&amp;lt;br&amp;gt; 5 - задание сделано и полностью работает&lt;br /&gt;
&amp;lt;br&amp;gt; 4 - небольшие недочеты, в целом все работает&lt;br /&gt;
&amp;lt;br&amp;gt; 3 - не работает в некоторых случаях&lt;br /&gt;
&amp;lt;br&amp;gt; 1 - задание не сдано&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;+1 балл - все то же самое, но имя тега может включать цифры и буквы, а текст внутри тега состоит из букв, цифр, точек, запятых и знаков пробелов, другие символы в тексте запрещены (см. lexer states в документации textmapper'а). &lt;br /&gt;
&amp;lt;br&amp;gt;+1 балл - найти максимальное кол-во ошибок в Textmapper (5 лучших результатов по состоянию на 15.09)&lt;br /&gt;
&amp;lt;br&amp;gt;Максимум за все задание можно получить 6 баллов&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
'''NB!'''&lt;br /&gt;
Не забудьте отключить external build (File-&amp;gt;Preferences-&amp;gt;Compiler-&amp;gt;Use external build -- disable) и написать в начале .tm-файла магические строчки:&lt;br /&gt;
&amp;lt;br&amp;gt; gentree = true&lt;br /&gt;
&amp;lt;br&amp;gt; genast = true&lt;br /&gt;
&amp;lt;br&amp;gt; positions = &amp;quot;offset,line&amp;quot;&lt;br /&gt;
&amp;lt;br&amp;gt; endpositions = &amp;quot;offset&amp;quot;&lt;/div&gt;</summary>
		<author><name>Mikhail</name></author>	</entry>

	</feed>