From bcf344941bbccb7698b16c48c812958296818add Mon Sep 17 00:00:00 2001 From: rincew1nd Date: Fri, 25 Nov 2016 18:18:04 +0300 Subject: [PATCH] =?UTF-8?q?=D0=91=D1=8B=D1=81=D1=82=D1=80=D0=BE=D1=84?= =?UTF-8?q?=D0=B8=D0=BA=20=D0=B4=D0=B2=D0=BE=D0=B8=D1=82=D0=BE=D1=87=D0=B8?= =?UTF-8?q?=D1=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- CodeTranslator/MainWindow.xaml | 16 +++++----- CodeTranslator/Translator.cs | 4 +-- UnitTests/ExceptionTest.cs | 54 +++++++++++++++++----------------- 3 files changed, 37 insertions(+), 37 deletions(-) diff --git a/CodeTranslator/MainWindow.xaml b/CodeTranslator/MainWindow.xaml index 7161d34..d02374b 100644 --- a/CodeTranslator/MainWindow.xaml +++ b/CodeTranslator/MainWindow.xaml @@ -32,28 +32,28 @@ - + - + - + - + - + - + - + - + diff --git a/CodeTranslator/Translator.cs b/CodeTranslator/Translator.cs index 536cebb..2492dff 100644 --- a/CodeTranslator/Translator.cs +++ b/CodeTranslator/Translator.cs @@ -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*?))+$")}, @@ -68,7 +68,7 @@ public Translator() $" Ожидается: Метки <Знак> ... <Знак>"}, {"ДубльМарка", $"{exceptionBase} Попытка добавить одинаковую марку 2 раза {kostil}"}, {"Операция", $"{exceptionBase} Неверное ключевое слово {kostil}." + - $" Ожидается: <Метка> \":\" <Перем> \"=\" <Прав.часть>"}, + $" Ожидается: <Метка> \":\" <Перем> \"=\" <Прав.часть>;"}, {"НетОперация", $"{exceptionBase} Нет ни одного блока <Операция>"}, {"НеизвестнаяМарка", $"{exceptionBase} Марка {kostil} не была объявлена!"}, {"ПовторяющаясяМарка", $"{exceptionBase} Марка {kostil} была использована более двух раз!"}, diff --git a/UnitTests/ExceptionTest.cs b/UnitTests/ExceptionTest.cs index c269256..ca69563 100644 --- a/UnitTests/ExceptionTest.cs +++ b/UnitTests/ExceptionTest.cs @@ -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); } } @@ -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); } } @@ -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) @@ -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) @@ -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( @@ -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"); } @@ -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) @@ -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) @@ -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) @@ -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) @@ -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) @@ -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) @@ -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)