Форум программистов, компьютерный форум, киберфорум
C# .NET
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.52/27: Рейтинг темы: голосов - 27, средняя оценка - 4.52
0 / 0 / 0
Регистрация: 09.01.2010
Сообщений: 7

Текстовый анализатор

15.01.2010, 17:53. Показов 5776. Ответов 15
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Частенько посещял етот форум многое развеял и понял, люди вроде как свиду дружелюбные )) Вот и решил даже зарегистрироваться ))

Изучая различные языки программирования, хотелосьб узнать С# поглубже .
Как-то делал на паскале курсовую "текстовый анализатор" , такуеже тему выбрал на курсовую C# но с преподователем уже договорился , курс тупо пробалоболели обидно приходиться самому работать, а то обидно сесию закрыл, а совесть мучает что предмет толком неизучил ...
если есть кто желающий помоч разобраться с етим ... буду благодарен для начала подскажите в каком направлении двигаться ... для начала хочю чтоб программа просто считывала ТХТ можно и Ворд и подсчитывала количество букв и пробелов (вообще фантазия огромна можно много чего наклепать ну для начала мне достаточно будет того чтоб только пробелы и символы) ....
на форуме искал подходящии темы, все мимо не нашел. Основная проблема в том что незнаю как подсчитывать символы, пробелы, кстате возникла на паскале проблема с подсчетом абзацев ну ладно мне пока ето не нужно....

Р.S если у когото есть код таковой или похожей программы буду благодарен....
Администрация ето моя первая тема прошу не удалять если некоректно заполнил, смотрел правила не нашел пример заполнения...
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
15.01.2010, 17:53
Ответы с готовыми решениями:

текстовый анализатор или как сделать динамическое настраиваемое имя файла
Всем привет!!!!! Есть такая замуточная задачка: есть файл вида he100125.log - имя формируется из постоянного символа he и текущей...

Семантический анализатор
Пишу диплом, который связан с семантическим анализом. Уже много литературы изучил, но, по-существу, ничего подходящего не нашел. Какие есть...

Лексический анализатор
Здравствуйте. Может быть у кого-нибудь есть код лексического анализатора? Скиньте пожалуйста. Подойдет любой (например: алгоритм...

15
 Аватар для HIMen
4340 / 1509 / 101
Регистрация: 12.04.2009
Сообщений: 2,342
15.01.2010, 18:28
C#
1
2
3
4
StreamReader sr = File.OpenText(@"C:/data.txt");
string s = f.ReadToEnd();
Console.WriteLine("Количество символов: {0}",s.Length);
Console.WriteLine("Количество пробелов: {0}", s.ToCharArray().Where(n => n == ' ').Count());
2
 Аватар для Hamsterr
8 / 8 / 0
Регистрация: 19.11.2009
Сообщений: 33
15.01.2010, 18:28
Вот простенький пример
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.IO;
 
namespace WindowsFormsApplication4
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }
        FileInfo fi;
 
        private void Form1_Load(object sender, EventArgs e)
        {
            fi = new FileInfo("text.txt");
            fi.Open(FileMode.OpenOrCreate, FileAccess.ReadWrite);
        }
 
        private void button1_Click(object sender, EventArgs e)
        {
            while (true)
            {
                try
                {
                    int spcount = 0;
                    StreamReader sr = fi.OpenText();
                    string str = "";
                    str += sr.ReadToEnd();
                    sr.Close();
                    for (int i = 0; i < str.Length; i++)
                    {
                        if (str.Substring(i, 1) == " ")
                            spcount++;
                    }
                    richTextBox1.Text = str;
                    label1.Text = "Кол-во символов: " + str.Length.ToString();
                    label2.Text = "Кол-во символов без пробелов: " + (str.Length - spcount).ToString();
                    label3.Text = "Кол-во пробелов: " + spcount.ToString();
                    break;
                }
                catch { }
            }
        }
    }
}
1
1152 / 860 / 263
Регистрация: 30.04.2009
Сообщений: 3,603
17.01.2010, 14:01
Я год назад писал курсовую на эту тему (ну может немного посложнее ) - Транcлятор своего языка программирования.

Возможности: один тип данных (float), арифметические операции +-*/, сложные арифметические выражения(возможность использовать скобки) возможность обьявлять переменные, ввод/вывод числовых данных, условный оператор if...then...else, циклический оператор while, возможность использовать блоки begin ... end в этих операторах.

То есть моя прога делает лексический анализ, синтаксический, строит обьектный код и выполняет его.

Если тебе в этом направлении, то могу помочь...
1
0 / 0 / 0
Регистрация: 09.01.2010
Сообщений: 7
18.01.2010, 00:38  [ТС]
Цитата Сообщение от Hamsterr Посмотреть сообщение
Вот простенький пример
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.IO;
 
namespace WindowsFormsApplication4
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }
        FileInfo fi;
 
        private void Form1_Load(object sender, EventArgs e)
        {
            fi = new FileInfo("text.txt");
            fi.Open(FileMode.OpenOrCreate, FileAccess.ReadWrite);
        }
 
        private void button1_Click(object sender, EventArgs e)
        {
            while (true)
            {
                try
                {
                    int spcount = 0;
                    StreamReader sr = fi.OpenText();
                    string str = "";
                    str += sr.ReadToEnd();
                    sr.Close();
                    for (int i = 0; i < str.Length; i++)
                    {
                        if (str.Substring(i, 1) == " ")
                            spcount++;
                    }
                    richTextBox1.Text = str;
                    label1.Text = "Кол-во символов: " + str.Length.ToString();
                    label2.Text = "Кол-во символов без пробелов: " + (str.Length - spcount).ToString();
                    label3.Text = "Кол-во пробелов: " + spcount.ToString();
                    break;
                }
                catch { }
            }
        }
    }
}
не подскажеш на каком С# писал случайно не 2008 ... ??

так как у меня 2005
0
 Аватар для Hamsterr
8 / 8 / 0
Регистрация: 19.11.2009
Сообщений: 33
18.01.2010, 01:10
Цитата Сообщение от AspiD Посмотреть сообщение
не подскажеш на каком С# писал случайно не 2008 ... ??

так как у меня 2005
Я делал в 2008, но разницы никакой нет, всё что используется в этом проекте есть как в 2008, так и 2005.
0
0 / 0 / 0
Регистрация: 09.01.2010
Сообщений: 7
18.01.2010, 01:17  [ТС]
понятно буду разбераться
случайно не подскажеш ошибка в using System.Linq;
0
 Аватар для Hamsterr
8 / 8 / 0
Регистрация: 19.11.2009
Сообщений: 33
18.01.2010, 01:23
Цитата Сообщение от AspiD Посмотреть сообщение
понятно буду разбераться
случайно не подскажеш ошибка в using System.Linq;
Попробуй удали эту строку.

з.ы. А какой фреймворк стоит?
0
0 / 0 / 0
Регистрация: 09.01.2010
Сообщений: 7
18.01.2010, 01:46  [ТС]
Цитата Сообщение от Hamsterr Посмотреть сообщение
Попробуй удали эту строку.

з.ы. А какой фреймворк стоит?
видемо я неправельно вставил коды для кнопок ...
можещ скинуть образ ?
0
 Аватар для Hamsterr
8 / 8 / 0
Регистрация: 19.11.2009
Сообщений: 33
18.01.2010, 02:07
Пример
Вложения
Тип файла: rar WindowsFormsApplication4.rar (38.2 Кб, 130 просмотров)
1
0 / 0 / 0
Регистрация: 09.01.2010
Сообщений: 7
18.01.2010, 02:50  [ТС]
Спс буду должен уже днем разберусь ... а щяс спатки иду
0
Кибернетик
 Аватар для СyberSpec
465 / 89 / 12
Регистрация: 10.04.2009
Сообщений: 424
18.01.2010, 16:23
Цитата Сообщение от nicolas2008 Посмотреть сообщение
Я год назад писал курсовую на эту тему (ну может немного посложнее ) - Транcлятор своего языка программирования...
2 nicolas2008 Делал то же только на Сях тоже курсач был))

2 AspiD Есть код в котором идет разбот строки и вычисление результата. калькулятор вощем)) Это проще чем компилятор, но посложнее чем подсчет кол-ва пробелов. Если нужно могу поделиццо сорцами
0
9 / 9 / 0
Регистрация: 13.01.2010
Сообщений: 32
22.01.2010, 14:54
Цитата Сообщение от nicolas2008 Посмотреть сообщение
Я год назад писал курсовую на эту тему (ну может немного посложнее ) - Транcлятор своего языка программирования.
...
Пишу небольшую программку "под свои нужды". Предполагаю реализовать в ней простенький скриптовый язык для описания поведения некоторых (в остальном стандартных) объектов.
С подобными задачами до сих пор сталкиваться не доводилось, поэтому
Цитата Сообщение от nicolas2008 Посмотреть сообщение
...делает лексический анализ, синтаксический, строит обьектный код и выполняет его.
Если тебе в этом направлении, то могу помочь...
было бы интересно посмотреть, что бы не изобретать велосипед. Если не трудно - поделитесь?
0
Кибернетик
 Аватар для СyberSpec
465 / 89 / 12
Регистрация: 10.04.2009
Сообщений: 424
22.01.2010, 16:27
Компилятор тоже писал, только на Си. Суть: лексически анализирует код написанный на "упрощенном Си" и создает обьектный код code.asm который компилится Ассемблером на раз два. В итоге прога написана на асме Это была курсовая, эх веселые деньки))
0
0 / 0 / 0
Регистрация: 05.01.2011
Сообщений: 3
05.01.2011, 20:24
CyberSpec, можешь объяснить, принцип работы твоей программы? как из С в асм переходил?
0
Кибернетик
 Аватар для СyberSpec
465 / 89 / 12
Регистрация: 10.04.2009
Сообщений: 424
07.01.2011, 19:06
Цитата Сообщение от schdooirook Посмотреть сообщение
CyberSpec, можешь объяснить, принцип работы твоей программы? как из С в асм переходил?
Конструкции языка на Си можно представить конструкциями языка ассемблера. То есть видим в Си If Then Else и пишем конструкцию на асьме, там нет If'а но можно это обойти тем что есть) По сути парсим текст на Си и строим его на асьме. Исходники в аттаче.
Вложения
Тип файла: rar C0.Cpp.rar (8.9 Кб, 34 просмотров)
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
07.01.2011, 19:06
Помогаю со студенческими работами здесь

анализатор текста
Мне необходимо написать программу анализирующую текст примерно такого содержания: --- Статы --- Сила: -4 Ловкость: +2 Скорость: 0...

Создать синтаксический анализатор
C#. Нужно написать синтаксический анализатор, который проверяет правильность записанной функции. например: y=cos(x)+sin(3x) - правильно...

Мой синтаксический анализатор
Разбивает текст на слова, удаляет комментарии. Выделяет в 1 слово: последовательность букв и цифр и знаков &quot;_&quot;, спец.символов,...

Анализатор JavaScript кода
Пишу небольшую ide'шку для ModPE (это джаваскрипт + куча встроенных библиотек + Android api) 1). Есть ли библиотеки, позволяющие...

Анализатор функций для интегрироввания
Подскажите плз,как написать программу, распознающую сложную функцию, введенную с клавиатуры.


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
16
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование . \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json> Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом. # Check if. . .
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так: https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347 Основана на STM32F303RBT6. На борту пять. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru