Essays.club - Получите бесплатные рефераты, курсовые работы и научные статьи
Поиск

Распознавание и поиск лексем

Автор:   •  Январь 15, 2023  •  Лабораторная работа  •  1,510 Слов (7 Страниц)  •  297 Просмотры

Страница 1 из 7

Министерство образования Республики Беларусь

Учреждение образования

БЕЛОРУССКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ

ИНФОРМАТИКИ И РАДИОЭЛЕКТРОНИКИ

Факультет компьютерных технологий

Кафедра программного обеспечения информационных технологий

Дисциплина: Компиляторные технологии (АиСД)

Лабораторная работа №1

Распознавание и поиск лексем

Выполнил студент гр.        

Проверил:        

Минск – 2023


Задание:

Для заданного вариантом вида текстовых данных проанализировать допустимые значения и разработать:

• регулярное выражение;

• НКА для этого регулярного выражения;

• эквивалентный ДКА и его таблицу переходов;

• программное средство, реализующее работу этого ДКА.

Программное средство должно поддерживать следующие возможности:

• проверка корректности произвольной строки;

• поиск всех подстрок, соответствующих требованиям, в произвольной строке.

Вариант 6: Корректный идентификатор: начинается с буквы или нижнего подчёркивания, затем — произвольное количество букв, цифр и/или нижних подчёркиваний.

Регулярное выражение:

НКА

[pic 1]

ДКА

[pic 2]

№ состояния

Значение

1

Прочитано: ничего.

Ожидается: буква либо нижнее подчеркивание.

2

Прочитано: буква либо нижнее подчеркивание.

Ожидается: буква, цифра либо нижнее подчеркивание.

Код программы:

Файл Program.cs

using System.Security.Principal;

 

namespace Lab1

{

    internal class Program

    {

        static void Main(string[] args)

        {

            string[] test = { "abCde""x0""Y""z_1""test_value_is_here""_""__custom" };

            ConsoleColor defaultColor = Console.ForegroundColor;

            for (int i = 0; i < test.Length; i++)

            {

                Console.Write(test[i]);

                if (Validate(test[i]))

                {

                    Console.ForegroundColor = ConsoleColor.Green;

                    Console.WriteLine("\t\t- корректно;");

                    Console.ForegroundColor = defaultColor;

                }

                else

                {

                    Console.ForegroundColor = ConsoleColor.DarkRed;

                    Console.WriteLine("\t\t- не корректно;");

                    Console.ForegroundColor = defaultColor;

                }

            }

 

            Console.Write("Введите идентификатор: ");

            Console.ForegroundColor = ConsoleColor.DarkYellow;

            string id = Console.ReadLine().ToString();

            Console.ForegroundColor = defaultColor;

            if (Validate(id))

            {

                Console.ForegroundColor = ConsoleColor.Green;

                Console.WriteLine("Идентификатор корректен.");

                Console.ForegroundColor = defaultColor;

...

Скачать:   txt (5.8 Kb)   pdf (1.3 Mb)   docx (1.2 Mb)  
Продолжить читать еще 6 страниц(ы) »
Доступно только на Essays.club