Пример #1
0
        // FINDING ALGORITHMS
        private void FindingForWords()
        {
            // запам'ятовуємо початкове положення каретки
            int selectionStartIndex = CodeRichTextBox.SelectionStart;
            int selectionLength     = CodeRichTextBox.SelectionLength;

            // для кожного слова в RichTextBox
            string[] WordsInText      = CodeRichTextBox.Text.Split();
            int      carriagePosition = 0;// індекс позиції каретки

            foreach (string word in WordsInText)
            {
                Literal literal = LiteralList.ContainsReturn(word);
                if (literal != null)// якщо слово є літералом...
                {
                    // ...змінюємо його колір
                    CodeRichTextBox.Select(carriagePosition, word.Length);
                    CodeRichTextBox.SelectionColor = literal.Color;
                }
                else // якщо слово не є літералом
                {
                    // потрібно коли слово переправлено
                    CodeRichTextBox.Select(carriagePosition, word.Length);
                    CodeRichTextBox.SelectionColor = Color.Black;
                }
                // міняємо індекс позиції каретки
                carriagePosition += word.Length + 1;
            }

            // повертаємо каретку в ту позицію в якій вона була
            CodeRichTextBox.Select(selectionStartIndex, selectionLength);
        }
Пример #2
0
 private void Remove_btn_Click(object sender, EventArgs e)
 {
     if (LiteralListBox.SelectedItem != null)
     {
         LiteralList.RemoveAt(LiteralListBox.SelectedIndex);
         LiteralListBox.Items.RemoveAt(LiteralListBox.SelectedIndex);
     }
 }
Пример #3
0
 private void AddLiteral(Literal value)
 {
     if (!string.IsNullOrWhiteSpace(value.ID) &&                        // якщо це НЕ порожнє слово і ...
         ListBox.NoMatches == LiteralListBox.FindStringExact(value.ID)) // ...такого слова немає в списку, то ...
     {
         // ... додаємо
         LiteralList.Add(new Literal(value, color: NextColor()));
         LiteralListBox.Items.Add(value.ID);
     }
 }
Пример #4
0
        public Node LitList()
        {
            var literalList = new LiteralList();

            literalList.Add(LitSimple());
            while (firstOfListContinuation.Contains(CurrentToken))
            {
                Expect(TokenCategory.COMMA);
                literalList.Add(LitSimple());
            }
            return(literalList);
        }
Пример #5
0
        public override void ExitArray(LuminaryParser.ArrayContext context)
        {
            LiteralList list = _lists.Pop();

            if (_lists.Count > 0)
            {
                _lists.Peek().Value.Add(list);
            }
            else
            {
                _literal = list;
            }
            TryConsumeLiteral(context.Parent);
        }
Пример #6
0
        private string FormText()
        {
            string[] IDS  = LiteralList.Select(literal => literal.ID).ToArray();
            string[] text = CodeRichTextBox.Text.Split();

            for (int i = 0; i < IDS.Length; ++i)
            {
                for (int j = 0; j < text.Length; ++j)
                {
                    if (text[j] == IDS[i])
                    {
                        text[j] = String.Concat('$', IDS[i], '$');
                    }
                }
            }
            return(String.Join(separator: " ", value: text));
        }
 public StackFrame(){
   this.locals = new LiteralList();
   this.parameters = new LiteralList();
 }
Пример #8
0
 public StackFrame()
 {
     this.locals     = new LiteralList();
     this.parameters = new LiteralList();
 }