/// <summary> /// Обеспечивает запись одного из специальных маркеров /// </summary> /// <param name="ch">Маркер, который нужно записать</param> /// <returns> /// <b>true</b>, если запись прошла успешно, <b>false</b> в противном случае /// </returns> public override bool InOut(SpecialChars ch) { switch (ch) { case SpecialChars.Delimiter: Writer.Write(EncodeTo64(",")); break; case SpecialChars.ArrayStart: Writer.Write(EncodeTo64("[")); break; case SpecialChars.ArrayEnd: Writer.Write(EncodeTo64("]")); break; case SpecialChars.ObjectStart: Writer.Write(EncodeTo64("{")); break; case SpecialChars.ObjectEnd: Writer.Write(EncodeTo64("}")); break; case SpecialChars.Null: break; } return(true); }
/// <summary> /// Обеспечивает запись одного из специальных маркеров /// </summary> /// <param name="ch">Маркер, который нужно записать</param> /// <returns> /// <b>true</b>, если запись прошла успешно, <b>false</b> в противном случае /// </returns> public override bool InOut(SpecialChars ch) { switch (ch) { case SpecialChars.Delimiter: Writer.Write(",{1}{0}", _indent, Environment.NewLine); break; case SpecialChars.ArrayStart: _indent += " "; Writer.Write("[{1}{0}", _indent, Environment.NewLine); break; case SpecialChars.ArrayEnd: _indent = _indent.Substring(3); Writer.Write("{1}{0}]", _indent, Environment.NewLine); break; case SpecialChars.ObjectStart: _indent += " "; Writer.Write("{1}{2}{0}", _indent, "{", Environment.NewLine); break; case SpecialChars.ObjectEnd: _indent = _indent.Substring(3); Writer.Write("{2}{0}{1}", _indent, "}", Environment.NewLine); break; case SpecialChars.Null: break; } return(true); }
internal string NextNamePart() { SkipWhiteSpace(); int start = pos; for (; pos < typeName.Length; pos++) { char c = typeName[pos]; if (c == '\\') { pos++; Check(pos < typeName.Length && SpecialChars.IndexOf(typeName[pos]) != -1); } else if (SpecialChars.IndexOf(c) != -1) { break; } } Check(pos - start != 0); if (start == 0 && pos == typeName.Length) { return(typeName); } else { return(typeName.Substring(start, pos - start)); } }
/// <summary> /// Проверяет, является ли текущая строка представлением специального маркера /// </summary> /// <param name="ch">Специальный маркер, на соответствие которому необходимо /// проверить текущую строку</param> /// <param name="delete">Если <b>true</b>, удаляет маркер, иначе оставляет его для /// последующего чтения</param> /// <returns> /// <para><b>true</b>, если маркеры совпадают, и <b>false</b>, если достигнут конец /// файла либо маркеры не совпадают</para> /// </returns> public override bool InOut(SpecialChars ch, bool delete = true) { if (_queue.Count == 0) { return(false); } var s = delete ? _queue.Dequeue() : _queue.Peek(); return(ch == ParseSpecialChar(s)); }
private LexerState SelectState() { char cs = _iterator.CurrentSymbol; if (Char.IsLetter(cs) || cs == SpecialChars.Underscore) { _state = _wordState; } else if (Char.IsDigit(cs)) { _state = _numberState; } else if (cs == SpecialChars.DateQuote) { _state = _dateState; } else if (cs == SpecialChars.StringQuote) { _state = _stringState; } else if (SpecialChars.IsOperatorChar(cs)) { _state = CommentOrOperatorState(cs); } else if (cs == SpecialChars.EndOperator) { SetFixedState(LexemType.EndOperator, Token.Semicolon); } else if (cs == SpecialChars.QuestionMark) { SetFixedState(LexemType.Operator, Token.Question); } else if (cs == SpecialChars.Preprocessor) { _state = _directiveState; } else if (cs == SpecialChars.Annotation) { _iterator.GetContents(); _iterator.MoveNext(); _state = _annotationState; } else { var cp = _iterator.GetPositionInfo(); var exc = new SyntaxErrorException(cp, string.Format("Неизвестный символ {0}", cs)); if (!HandleError(exc)) { throw exc; } } return(_state); }
public override Lexem ReadNextLexem(SourceCodeIterator iterator) { bool hasDecimalPoint = false; while (true) { if (Char.IsDigit(iterator.CurrentSymbol)) { if (!iterator.MoveNext()) { var lex = new Lexem() { Type = LexemType.NumberLiteral, Content = iterator.GetContents() }; return(lex); } } else if (SpecialChars.IsDelimiter(iterator.CurrentSymbol)) { if (iterator.CurrentSymbol == '.') { if (!hasDecimalPoint) { hasDecimalPoint = true; iterator.MoveNext(); continue; } else { throw CreateExceptionOnCurrentLine("Некорректно указана десятичная точка в числе", iterator); } } var lex = new Lexem() { Type = LexemType.NumberLiteral, Content = iterator.GetContents() }; return(lex); } else { throw CreateExceptionOnCurrentLine("Некорректный символ", iterator); } } }
public async Task <IActionResult> Index(string name, int id) { var style = (await this.masterService.GetPackageTravelStyleListAsync(string.Empty, 1, id)).ToSelectList(); if (style != null && style.Count > 0 && SpecialChars.Remove(style[0].Text) == name) { this.ViewBag.PageType = Enums.SeoPageType.Style; this.ViewBag.StyleName = style[0].Text; this.ViewBag.StyleId = id; return(this.View()); } else { return(this.RedirectToRoute("default")); } }
void AddProperty() { int start = _index; int level = 0; // include leading dots in the path (for XLinq) while (_index < _n && _path[_index] == '.') { ++_index; } while (_index < _n && (level > 0 || SpecialChars.IndexOf(_path[_index]) < 0)) { if (_path[_index] == '(') { ++level; } else if (_path[_index] == ')') { --level; } ++_index; } if (level > 0) { SetError(SRID.UnmatchedParen, _path.Substring(start)); return; } if (level < 0) { SetError(SRID.UnmatchedParen, _path.Substring(0, _index)); return; } string name = _path.Substring(start, _index - start).Trim(); SourceValueInfo info = (name.Length > 0) ? new SourceValueInfo(SourceValueType.Property, _drillIn, name) : new SourceValueInfo(SourceValueType.Direct, _drillIn, (string)null); _al.Add(info); StartNewLevel(); }
public void Special_Characters() { Assert.True(SpecialChars.IsOperatorChar('+')); Assert.True(SpecialChars.IsOperatorChar('-')); Assert.True(SpecialChars.IsOperatorChar('*')); Assert.True(SpecialChars.IsOperatorChar('/')); Assert.True(SpecialChars.IsOperatorChar('<')); Assert.True(SpecialChars.IsOperatorChar('>')); Assert.True(SpecialChars.IsOperatorChar('=')); Assert.True(SpecialChars.IsOperatorChar('%')); Assert.True(SpecialChars.IsOperatorChar('(')); Assert.True(SpecialChars.IsOperatorChar(')')); Assert.True(SpecialChars.IsOperatorChar('.')); Assert.True(SpecialChars.IsOperatorChar(',')); Assert.True(SpecialChars.IsOperatorChar('[')); Assert.True(SpecialChars.IsOperatorChar(']')); }
public override void WriteString(string text) { if (String.IsNullOrEmpty(text)) { return; } const string SpecialChars = @"<>&"; if (text.IndexOfAny(SpecialChars.ToCharArray()) != -1) { WriteCData(text); } else { base.WriteString(text); } }
public override void WriteString(string text) { if (String.IsNullOrEmpty(text)) { return; } // WriteString will happily escape any XML markup characters. However, // for legibility we write content that contains certain special // characters as CDATA const string SpecialChars = @"<>&"; if (text.IndexOfAny(SpecialChars.ToCharArray()) != -1) { WriteCData(text); } else { base.WriteString(text); } }
/// <summary> /// Write the special char to current destination stream. /// </summary> /// <param name="type">The special char.</param> public void Write(SpecialChars type) { WriteEntity(Convert.ToChar(type).ToString()); }
static void Main() { ShapesDemo(); RenderUtils.Echo("Stand by...\n\n"); SpecialChars.TestChars(); RenderUtils.ResizeConsole(100, 50); RenderUtils.ResizeConsole(50, 25); RenderUtils.ResizeConsole(Console.LargestWindowWidth, Console.LargestWindowHeight); RenderUtils.ResizeConsole(30, 15); RenderUtils.ResizeConsole(80, 25); //Draw the splash BasicRenderSplash(); //RenderUtils.Sleep(2000); RenderUtils.Pause(); Window WelcomeSplash = new Window(false, true, "Welcome", 47, 10); CloseButton SplashWelcomeBTN = new CloseButton(WelcomeSplash, "[ OK ]", ConsoleColor.DarkGray, ConsoleColor.White, ConsoleColor.DarkBlue, 19, 8); WindowElement[] SplashElements = { new BasicFontLabel(WelcomeSplash, "WELCOME", BasicFont.DefaultFont, ConsoleColor.Black, 3, 1), SplashWelcomeBTN }; WelcomeSplash.AddElements(SplashElements); WelcomeSplash.HighlightedElement = SplashWelcomeBTN; SplashWelcomeBTN.Highlighted = true; WelcomeSplash.Execute(); //5x6 //Clear the screen, set up for the "window Environment" RenderUtils.Color(ConsoleColor.DarkCyan, ConsoleColor.White); Console.Clear(); //Time to test the tickable timer window and a new label. TickableWindow LoadWindow = new TickableWindow(true, true, "Please Wait", 42, 7); WindowElement[] Elements = { new Icon(LoadWindow, Icon.IconType.INFORMATION, 1, 2), new Label(LoadWindow, "Please Wait, BasicRender is loading", ConsoleColor.Gray, ConsoleColor.Black, 5, 2), new Spinner(LoadWindow, ConsoleColor.Gray, ConsoleColor.Black, 5, 4), new Timer(LoadWindow, 5, new Progressbar(LoadWindow, 33, 7, 4)) { BackToFront = true } }; LoadWindow.AddElements(Elements); //Test Tickable Window LoadWindow.Execute(); //Test DialogBox DialogBox.ShowDialogBox(Icon.IconType.INFORMATION, DialogBox.DialogBoxButtons.OK, "Test I hope this works."); //More Extensively test Dialogbox Quiz(); //Test HelloWorld //new HelloWorldWindow().Execute(); //We no longer really need to test HelloWorld. Windows are just windows now //Show the welcome window new WelcomeWindow().Execute(); // DialogBox.ShowDialogBox(Icon.IconType.INFORMATION, DialogBox.DialogBoxButtons.OK, "The system will now attempt to divide by 0 to showcase error screens."); try { GenerateStackedError(7); } catch (Exception E) { ErrorWindow.ShowErrorWindow(E.Message); DialogBox.ShowExceptionError(E); GuruMeditationErrorScreen.Show(E, true); } }
/// <summary> /// Обеспечивает ввод специальных маркеров в объект сериализатора /// </summary> /// <param name="ch">Маркер, являющийся элементом перечесления <see cref="SpecialChars"/>, значение которого будет считано при сериализации</param> /// <returns> /// true /// </returns> /// <seealso cref="M:TerrainGen.Serialization.ISerializer.InOut(System.Boolean@)"/> /// <seealso cref="M:TerrainGen.Serialization.ISerializer.InOut(System.Double@)"/> /// <seealso cref="M:TerrainGen.Serialization.ISerializer.InOut(System.Single@)"/> /// <seealso cref="M:TerrainGen.Serialization.ISerializer.InOut(System.String@)"/> /// <seealso cref="M:TerrainGen.Serialization.ISerializer.InOut(System.Int32@)"/> public abstract bool InOut(SpecialChars ch);
/// <summary> /// ������������ ����� ����������� �������� ��������� /// ��������������� /// </summary> /// <param name="ch">������, ���������� ��������� ������������ <see /// cref="SpecialChars"/>, �������� � ������� ����� /// �������� ��� ��������������</param> /// <param name="delete">���� <b>true </b>(�� ���������), �� ������� ����� ������ /// ����� ������. ����� �� ��� ��������� ��������� �� ������ � ���������� ������� /// ������ ����� ����� ��� �� ����� �������</param> /// <returns> /// <para><b>true</b>, ���� ������� ��������� � ��������������� /// �������� ��������� (� �� �����) ������, � <b>false</b> � ��������� ������</para> /// </returns> /// <seealso /// cref="M:TerrainGen.Serialization.ISerializer.InOut(System.Boolean@)">Boolean@)</seealso> /// <seealso /// cref="M:TerrainGen.Serialization.ISerializer.InOut(System.Double@)">Double@)</seealso> /// <seealso /// cref="M:TerrainGen.Serialization.ISerializer.InOut(System.Single@)">Single@)</seealso> /// <seealso /// cref="M:TerrainGen.Serialization.ISerializer.InOut(System.String@)">String@)</seealso> /// <seealso /// cref="M:TerrainGen.Serialization.ISerializer.InOut(System.Int32@)">Int32@)</seealso> public abstract bool InOut(SpecialChars ch, bool delete = true);
/// <summary> /// Обеспечивает вывод специальных маркеров из объекта /// десериализатора /// </summary> /// <param name="ch">Маркер, являющийся элементом перечесления <see /// cref="SpecialChars"/>, значение в которое будет /// записано при десериализации</param> /// <param name="delete">Если <b>true </b>(по умолчанию), то объекта будет удален /// после чтения. Иначе же при следующем обращении на чтение к экземпляру данного /// класса будет выдан тот же самый объекта</param> /// <returns> /// <para><b>true</b>, если текущим элементом в десереализаторе /// является указанный (а не любой) маркер, и <b>false</b> в противном случае</para> /// </returns> /// <seealso /// cref="M:TerrainGen.Serialization.ISerializer.InOut(System.Boolean@)">Boolean@)</seealso> /// <seealso /// cref="M:TerrainGen.Serialization.ISerializer.InOut(System.Double@)">Double@)</seealso> /// <seealso /// cref="M:TerrainGen.Serialization.ISerializer.InOut(System.Single@)">Single@)</seealso> /// <seealso /// cref="M:TerrainGen.Serialization.ISerializer.InOut(System.String@)">String@)</seealso> /// <seealso /// cref="M:TerrainGen.Serialization.ISerializer.InOut(System.Int32@)">Int32@)</seealso> public abstract bool InOut(SpecialChars ch, bool delete = true);
/// <summary> /// Проверяет, является ли текущая строка представлением специального маркера /// </summary> /// <param name="ch">Специальный маркер, на соответствие которому необходимо /// проверить текущую строку</param> /// <param name="delete">Если <b>true</b>, удаляет маркер, иначе оставляет его для /// последующего чтения</param> /// <returns> /// <para><b>true</b>, если маркеры совпадают, и <b>false</b>, если достигнут конец /// файла либо маркеры не совпадают</para> /// </returns> public override bool InOut(SpecialChars ch, bool delete = true) { var s = delete ? _queue.Dequeue() : _queue.Peek(); return(ch == ParseSpecialChar(s)); }
/// <summary> /// Write start of an object or array using the first argument as its name. /// </summary> /// <param name="name">The name of the object or array.</param> /// <param name="type">The special char (StartObject or StartArray).</param> public void Write(string name, SpecialChars type) { WriteEntity(name + " = " + Convert.ToChar(type)); }
/// <summary> /// Проверяет, является ли текущая строка представлением специального маркера /// </summary> /// <param name="ch">Специальный маркер, на соответствие которому необходимо /// проверить текущую строку</param> /// <param name="delete">Если <b>true</b>, удаляет маркер, иначе оставляет его для /// последующего чтения</param> /// <returns> /// <para><b>true</b>, если маркеры совпадают, и <b>false</b>, если достигнут конец /// файла либо маркеры не совпадают</para> /// </returns> public override bool InOut(SpecialChars ch, bool delete = true) { if (_queue.Count == 0) return false; var s = delete ? _queue.Dequeue() : _queue.Peek(); return ch == ParseSpecialChar(s); }
private void AnalyseString(T text, TextAnalyzeMode mode) { // character strings const string SpecialChars = @"""!?%&/()=?@<>|?.;:-_#'*+~껙 "; const string Numbers = "0123456789"; // Adding the entries according to mode switch (mode) { case TextAnalyzeMode.AllCharacters: foreach (char v in text.ToString()) { Add((T)Convert.ChangeType(v, text.GetType(), null)); } break; case TextAnalyzeMode.LettersOnly: foreach (var v in text.ToString()) { if ((SpecialChars.IndexOf(v) == -1) & (Numbers.IndexOf(v) == -1)) { Add((T)Convert.ChangeType(v, text.GetType(), null)); } } break; case TextAnalyzeMode.NoNumerals: foreach (var v in text.ToString()) { if (Numbers.IndexOf(v) == -1) { Add((T)Convert.ChangeType(v, text.GetType(), null)); } } break; case TextAnalyzeMode.NoSpecialCharacters: foreach (var v in text.ToString()) { if (SpecialChars.IndexOf(v) == -1) { Add((T)Convert.ChangeType(v, text.GetType(), null)); } } break; case TextAnalyzeMode.NumeralsOnly: foreach (var v in text.ToString()) { if (Numbers.IndexOf(v) != -1) { Add((T)Convert.ChangeType(v, text.GetType(), null)); } } break; case TextAnalyzeMode.SpecialCharactersOnly: foreach (var v in text.ToString()) { if (SpecialChars.IndexOf(v) != -1) { Add((T)Convert.ChangeType(v, text.GetType(), null)); } } break; } }
public override Lexem ReadNextLexem(SourceCodeIterator iterator) { bool isEndOfText = false; char cs = '\0'; int currentLine = iterator.CurrentLine; while (true) { if (!isEndOfText) { cs = iterator.CurrentSymbol; } if (SpecialChars.IsDelimiter(cs) || isEndOfText) { var content = iterator.GetContents(); Lexem lex; if (LanguageDef.IsLogicalOperatorString(content)) { lex = new Lexem() { Type = LexemType.Operator, Token = LanguageDef.GetToken(content), Content = content, LineNumber = currentLine }; } else if (LanguageDef.IsBooleanLiteralString(content)) { lex = new Lexem() { Type = LexemType.BooleanLiteral, Content = content, LineNumber = currentLine }; } else if (LanguageDef.IsUndefinedString(content)) { lex = new Lexem() { Type = LexemType.UndefinedLiteral, Content = content, LineNumber = currentLine }; } else if (LanguageDef.IsNullString(content)) { lex = new Lexem() { Type = LexemType.NullLiteral, Content = content, LineNumber = currentLine }; } else { lex = new Lexem() { Type = LexemType.Identifier, Content = content, Token = LanguageDef.GetToken(content), LineNumber = currentLine }; if (LanguageDef.IsBuiltInFunction(lex.Token)) { iterator.SkipSpaces(); if (iterator.CurrentSymbol != '(') { lex.Token = Token.NotAToken; } } } return(lex); } if (!iterator.MoveNext()) { isEndOfText = true; } } }
public static string GetEncoding(this SpecialChars sc) { return($"#{(int) sc:x8}"); }
/// <summary> /// Проверяет, является ли текущая строка представлением специального маркера /// </summary> /// <param name="ch">Специальный маркер, на соответствие которому необходимо /// проверить текущую строку</param> /// <param name="delete">Если <b>true</b>, удаляет маркер, иначе оставляет его для /// последующего чтения</param> /// <returns> /// <para><b>true</b>, если маркеры совпадают, и <b>false</b>, если достигнут конец /// файла либо маркеры не совпадают</para> /// </returns> public override bool InOut(SpecialChars ch, bool delete = true) { var s = delete ? _queue.Dequeue() : _queue.Peek(); return ch == ParseSpecialChar(s); }
/// <summary> /// Обеспечивает запись одного из специальных маркеров /// </summary> /// <param name="ch">Маркер, который нужно записать</param> /// <returns> /// <b>true</b>, если запись прошла успешно, <b>false</b> в противном случае /// </returns> public override bool InOut(SpecialChars ch) { switch (ch) { case SpecialChars.Delimiter: Writer.Write(EncodeTo64(",")); break; case SpecialChars.ArrayStart: Writer.Write(EncodeTo64("[")); break; case SpecialChars.ArrayEnd: Writer.Write(EncodeTo64("]")); break; case SpecialChars.ObjectStart: Writer.Write(EncodeTo64("{")); break; case SpecialChars.ObjectEnd: Writer.Write(EncodeTo64("}")); break; case SpecialChars.Null: break; } return true; }
/// <summary> /// Обеспечивает запись одного из специальных маркеров /// </summary> /// <param name="ch">Маркер, который нужно записать</param> /// <returns> /// <b>true</b>, если запись прошла успешно, <b>false</b> в противном случае /// </returns> public override bool InOut(SpecialChars ch) { switch (ch) { case SpecialChars.Delimiter: Writer.Write(",{1}{0}", _indent, Environment.NewLine); break; case SpecialChars.ArrayStart: _indent += " "; Writer.Write("[{1}{0}", _indent, Environment.NewLine); break; case SpecialChars.ArrayEnd: _indent = _indent.Substring(3); Writer.Write("{1}{0}]", _indent, Environment.NewLine); break; case SpecialChars.ObjectStart: _indent += " "; Writer.Write("{1}{2}{0}", _indent, "{", Environment.NewLine); break; case SpecialChars.ObjectEnd: _indent = _indent.Substring(3); Writer.Write("{2}{0}{1}", _indent, "}", Environment.NewLine); break; case SpecialChars.Null: break; } return true; }
/// <summary> /// ������������ ����� ����������� �������� ��������� ��������������� /// </summary> /// <param name="ch">������, ���������� ��������� ������������ <see cref="SpecialChars"/>, �������� � ������� ����� /// �������� ��� ��������������</param> /// <returns> /// <para><b>true</b>, ���� ������� ��������� � ��������������� �������� ��������� (� �� �����) ������, � /// <b>false</b> � ��������� ������</para> /// </returns> /// <seealso cref="M:TerrainGen.Serialization.ISerializer.InOut(System.Boolean@)"/> /// <seealso cref="M:TerrainGen.Serialization.ISerializer.InOut(System.Double@)"/> /// <seealso cref="M:TerrainGen.Serialization.ISerializer.InOut(System.Single@)"/> /// <seealso cref="M:TerrainGen.Serialization.ISerializer.InOut(System.String@)"/> /// <seealso cref="M:TerrainGen.Serialization.ISerializer.InOut(System.Int32@)"/> public bool InOut(SpecialChars ch) { return InOut(ch, true); }
/// <summary> /// Обеспечивает вывод специальных маркеров из объекта десериализатора /// </summary> /// <param name="ch">Маркер, являющийся элементом перечесления <see cref="SpecialChars"/>, значение в которое будет /// записано при десериализации</param> /// <returns> /// <para><b>true</b>, если текущим элементом в десереализаторе является указанный (а не любой) маркер, и /// <b>false</b> в противном случае</para> /// </returns> /// <seealso cref="M:TerrainGen.Serialization.ISerializer.InOut(System.Boolean@)"/> /// <seealso cref="M:TerrainGen.Serialization.ISerializer.InOut(System.Double@)"/> /// <seealso cref="M:TerrainGen.Serialization.ISerializer.InOut(System.Single@)"/> /// <seealso cref="M:TerrainGen.Serialization.ISerializer.InOut(System.String@)"/> /// <seealso cref="M:TerrainGen.Serialization.ISerializer.InOut(System.Int32@)"/> public bool InOut(SpecialChars ch) { return(InOut(ch, true)); }