Skip to content

Commit

Permalink
Быстрофик двоиточия
Browse files Browse the repository at this point in the history
  • Loading branch information
rincew1nd committed Nov 25, 2016
1 parent fb3c54f commit bcf3449
Show file tree
Hide file tree
Showing 3 changed files with 37 additions and 37 deletions.
16 changes: 8 additions & 8 deletions CodeTranslator/MainWindow.xaml
Original file line number Diff line number Diff line change
Expand Up @@ -32,28 +32,28 @@
<Run Text="Метки 10 20 30 40 50 60 70"/>
</Paragraph>
<Paragraph>
<Run Text="10 : йцук1 = 123+123"/>
<Run Text="10 : йцук1 = 123+123;"/>
</Paragraph>
<Paragraph>
<Run Text="20 : йцук2 = 123-123"/>
<Run Text="20 : йцук2 = 123-123;"/>
</Paragraph>
<Paragraph>
<Run Text="30 : йцук3 = 234/2"/>
<Run Text="30 : йцук3 = 234/2;"/>
</Paragraph>
<Paragraph>
<Run Text="40 : йцук4 = 234*2"/>
<Run Text="40 : йцук4 = 234*2;"/>
</Paragraph>
<Paragraph>
<Run Text="50 : йцук5 = (10+5)/(54+5)"/>
<Run Text="50 : йцук5 = (10+5)/(54+5);"/>
</Paragraph>
<Paragraph>
<Run Text="60 : йцук6 = ((10+5)/(54+5))/2"/>
<Run Text="60 : йцук6 = ((10+5)/(54+5))/2;"/>
</Paragraph>
<Paragraph>
<Run Text="70 : йцук7 = 1&amp;(0|1)"/>
<Run Text="70 : йцук7 = 1&amp;(0|1);"/>
</Paragraph>
<Paragraph>
<Run Text="70 : йцук8 = 1&amp;(0|!1)"/>
<Run Text="70 : йцук8 = 1&amp;(0|!1);"/>
</Paragraph>
<Paragraph>
<Run Text="Конец программа"/>
Expand Down
4 changes: 2 additions & 2 deletions CodeTranslator/Translator.cs
Original file line number Diff line number Diff line change
Expand Up @@ -49,7 +49,7 @@ public Translator()
{"ЯзыкНачало", new Regex("^Программа$")},
{"ЯзыкКонец", new Regex("^Конец программа$")},
{"Заголовок", new Regex(@"^Метки( [\d]+)+$")},
{"Операция", new Regex(@"^([\d]+) : ([\dа-яА-Я]+) = ([\d()!&|+*/ -]+)$")},
{"Операция", new Regex(@"^([\d]+) : ([\dа-яА-Я]+) = ([\d()!&|+*/ -]+);$")},
{"ОперацияЛеваяЧасть", new Regex(@"^([\d]+) : ([\dа-яА-Я]+) = ")},
{"ПраваяЧасть", new Regex(@"^([\d()!&|+*/,-]+)([&|+*/-])([\d()!&|+*/,-]+)$")},
{"ПраваяЧастьПростая", new Regex(@"^(-?\d+,?\d*?)(([+*/-])(-?\d+,?\d*?))+$")},
Expand All @@ -68,7 +68,7 @@ public Translator()
$" Ожидается: Метки <Знак> ... <Знак>"},
{"ДубльМарка", $"{exceptionBase} Попытка добавить одинаковую марку 2 раза {kostil}"},
{"Операция", $"{exceptionBase} Неверное ключевое слово {kostil}." +
$" Ожидается: <Метка> \":\" <Перем> \"=\" <Прав.часть>"},
$" Ожидается: <Метка> \":\" <Перем> \"=\" <Прав.часть>;"},
{"НетОперация", $"{exceptionBase} Нет ни одного блока <Операция>"},
{"НеизвестнаяМарка", $"{exceptionBase} Марка {kostil} не была объявлена!"},
{"ПовторяющаясяМарка", $"{exceptionBase} Марка {kostil} была использована более двух раз!"},
Expand Down
54 changes: 27 additions & 27 deletions UnitTests/ExceptionTest.cs
Original file line number Diff line number Diff line change
Expand Up @@ -104,28 +104,28 @@ public void LeftSideOperationSyntax()
var translator = new Translator();
var text = "Программа\r\nМетки 1 2 3\r\n";

try { translator.CheckSyntax($"{text}10 : тест = 123-123"); }
try { translator.CheckSyntax($"{text}10 : тест = 123-123;"); }
catch (SyntaxException ex)
{
Assert.AreEqual(
"Ошибка в строке 3. Неверное ключевое слово '10 : тест = 123-123'." +
" Ожидается: <Метка> \":\" <Перем> \"=\" <Прав.часть>",
"Ошибка в строке 3. Неверное ключевое слово '10 : тест = 123-123;'." +
" Ожидается: <Метка> \":\" <Перем> \"=\" <Прав.часть>;",
ex.Message);
}
try { translator.CheckSyntax($"{text}а10 : тест = 123-123"); }
try { translator.CheckSyntax($"{text}а10 : тест = 123-123;"); }
catch (SyntaxException ex)
{
Assert.AreEqual(
"Ошибка в строке 3. Неверное ключевое слово 'а10 : тест = 123-123'." +
" Ожидается: <Метка> \":\" <Перем> \"=\" <Прав.часть>",
"Ошибка в строке 3. Неверное ключевое слово 'а10 : тест = 123-123;'." +
" Ожидается: <Метка> \":\" <Перем> \"=\" <Прав.часть>;",
ex.Message);
}
try { translator.CheckSyntax($"{text}10 : тест = 123-123"); }
try { translator.CheckSyntax($"{text}10 : тест = 123-123;"); }
catch (SyntaxException ex)
{
Assert.AreEqual(
"Ошибка в строке 3. Неверное ключевое слово '10 : тест = 123-123'." +
" Ожидается: <Метка> \":\" <Перем> \"=\" <Прав.часть>",
"Ошибка в строке 3. Неверное ключевое слово '10 : тест = 123-123;'." +
" Ожидается: <Метка> \":\" <Перем> \"=\" <Прав.часть>;",
ex.Message);
}
}
Expand All @@ -136,25 +136,25 @@ public void RightSideOperationSyntax()
var translator = new Translator();
var text = "Программа\r\nМетки 1 2 3\r\n10 : тест = ";

try { translator.CheckSyntax($"{text}12-(43-43)\\"); }
try { translator.CheckSyntax($"{text}12-(43-43)\\;"); }
catch (SyntaxException ex)
{
Assert.AreEqual(
"Ошибка в строке 3. Правая часть содержит недопустимые символы\n'12-(43-43)\\'",
"Ошибка в строке 3. Правая часть содержит недопустимые символы\n'12-(43-43)\\;'",
ex.Message);
}
try { translator.CheckSyntax($"{text}12.34-434"); }
try { translator.CheckSyntax($"{text}12.34-434;"); }
catch (SyntaxException ex)
{
Assert.AreEqual(
"Ошибка в строке 3. Правая часть содержит недопустимые символы\n'12.34-434'",
"Ошибка в строке 3. Правая часть содержит недопустимые символы\n'12.34-434;'",
ex.Message);
}
try { translator.CheckSyntax($"{text}124-43,4"); }
try { translator.CheckSyntax($"{text}124-43,4;"); }
catch (SyntaxException ex)
{
Assert.AreEqual(
"Ошибка в строке 3. Правая часть содержит недопустимые символы\n'124-43,4'",
"Ошибка в строке 3. Правая часть содержит недопустимые символы\n'124-43,4;'",
ex.Message);
}
}
Expand All @@ -163,7 +163,7 @@ public void RightSideOperationSyntax()
public void UnknownMark()
{
var translator = new Translator();
var text = "Программа\r\nМетки 1 2 3\r\n34 : тест = 324-43";
var text = "Программа\r\nМетки 1 2 3\r\n34 : тест = 324-43;";

try { translator.CheckSyntax($"{text}"); }
catch (SyntaxException ex)
Expand All @@ -178,7 +178,7 @@ public void UnknownMark()
public void UniqueMark()
{
var translator = new Translator();
var text = "Программа\r\nМетки 12 23 31\r\n12 : тест = 324-43\r\n12 : тест = 324-43";
var text = "Программа\r\nМетки 12 23 31\r\n12 : тест = 324-43;\r\n12 : тест = 324-43;";

try { translator.CheckSyntax($"{text}"); }
catch (SyntaxException ex)
Expand All @@ -193,9 +193,9 @@ public void UniqueMark()
public void SameVariable()
{
var translator = new Translator();
var text = "Программа\r\nМетки 1 2 3\r\n1 : тест = 324-43";
var text = "Программа\r\nМетки 1 2 3\r\n1 : тест = 324-43;";

try { translator.CheckSyntax($"{text}\r\n2 : тест = 324-413"); }
try { translator.CheckSyntax($"{text}\r\n2 : тест = 324-413;"); }
catch (SyntaxException ex)
{
Assert.AreEqual(
Expand All @@ -222,7 +222,7 @@ public void NoOperations()
[Test]
public void ProgramEndSyntax()
{
var text = "Программа\r\nМетки 1 2 3\r\n1 : тест = 324-43\r\n";
var text = "Программа\r\nМетки 1 2 3\r\n1 : тест = 324-43;\r\n";

var translator = new Translator();
try { translator.CheckSyntax($"{text}Конец программа1"); }
Expand Down Expand Up @@ -262,7 +262,7 @@ public void ProgramEndSyntax()
public void NotPairedBrackets()
{
var translator = new Translator();
var text = "Программа\r\nМетки 1 2 3\r\n1 : тест = ((324-43)";
var text = "Программа\r\nМетки 1 2 3\r\n1 : тест = ((324-43);";

try { translator.CheckSyntax($"{text}"); }
catch (OredrException ex)
Expand All @@ -277,7 +277,7 @@ public void NotPairedBrackets()
public void BoolNotBool()
{
var translator = new Translator();
var text = "Программа\r\nМетки 1 2 3\r\n1 : тест = ((324-43)|1)&1";
var text = "Программа\r\nМетки 1 2 3\r\n1 : тест = ((324-43)|1)&1;";

try { translator.CheckSyntax($"{text}"); }
catch (OredrException ex)
Expand All @@ -292,7 +292,7 @@ public void BoolNotBool()
public void NumberBeforeOpenBrackets()
{
var translator = new Translator();
var text = "Программа\r\nМетки 1 2 3\r\n1 : тест = ((324-43)-43(3*2))-2";
var text = "Программа\r\nМетки 1 2 3\r\n1 : тест = ((324-43)-43(3*2))-2;";

try { translator.CheckSyntax($"{text}"); }
catch (OredrException ex)
Expand All @@ -308,7 +308,7 @@ public void NumberBeforeOpenBrackets()
public void CloseBracketBeforeOpenBrackets()
{
var translator = new Translator();
var text = "Программа\r\nМетки 1 2 3\r\n1 : тест = 12-((2*3)(3*2))-2";
var text = "Программа\r\nМетки 1 2 3\r\n1 : тест = 12-((2*3)(3*2))-2;";

try { translator.CheckSyntax($"{text}"); }
catch (OredrException ex)
Expand All @@ -324,7 +324,7 @@ public void CloseBracketBeforeOpenBrackets()
public void OpenBracketsBeforeCloseBracket()
{
var translator = new Translator();
var text = "Программа\r\nМетки 1 2 3\r\n1 : тест = 12-((2*3)-()(3*2))-2";
var text = "Программа\r\nМетки 1 2 3\r\n1 : тест = 12-((2*3)-()(3*2))-2;";

try { translator.CheckSyntax($"{text}"); }
catch (OredrException ex)
Expand All @@ -339,7 +339,7 @@ public void OpenBracketsBeforeCloseBracket()
public void LineStartFromCloseBracket()
{
var translator = new Translator();
var text = "Программа\r\nМетки 1 2 3\r\n1 : тест = )12-((2*3)-((3*2))-2";
var text = "Программа\r\nМетки 1 2 3\r\n1 : тест = )12-((2*3)-((3*2))-2;";

try { translator.CheckSyntax($"{text}"); }
catch (OredrException ex)
Expand All @@ -354,7 +354,7 @@ public void LineStartFromCloseBracket()
public void CloseBracketWithoutOpen()
{
var translator = new Translator();
var text = "Программа\r\nМетки 1 2 3\r\n1 : тест = 2*3)-(3*2)-2(";
var text = "Программа\r\nМетки 1 2 3\r\n1 : тест = 2*3)-(3*2)-2(;";

try { translator.CheckSyntax($"{text}"); }
catch (OredrException ex)
Expand Down

0 comments on commit bcf3449

Please sign in to comment.