Logo ru.artbmxmagazine.com

Переводчик; через лексическую фазу методологии компилятора

Anonim

Переводчик очень важен в развитии студента, особенно если он студент университета, так как большинство людей больше не используют физический словарь, потому что важно знать о других языках, чтобы развивать оба в этой области. социальный как профессиональный, и это то, что автор Аликс Андерсон упоминает в своей статье «Важность изучения второго языка».

Статья-переводчик-лексико-фаза

В качестве конечного продукта этого проекта было разработано приложение переводчика, которое при запуске выполняет перевод некоторых слов. Следует отметить, что это приложение не полностью завершено, поскольку считается, что в дальнейшем оно также может переводить предложения, используя синтаксическую фазу компилятора. Но с целью демонстрации того, что основные этапы компилятора были разработаны, включая этап лексикона, в приложении можно сказать, что поставленные цели достигнуты, поскольку при разработке указанного проекта были получены хорошие результаты, которые позже будут иметь образовательное использование в университетском секторе.

КЛЮЧЕВЫЕ СЛОВА:

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

АННОТАЦИЯ

Переводчик очень важен для развития студента, особенно в колледже, поскольку большинство людей больше не используют физический словарь, потому что важно знать другие языки таким образом, чтобы развиваться как в социальной, так и в профессиональной сфере и т. Д. автор Аликс Андерсон упоминает в своей статье под названием «Важность изучения второго языка». Конечным продуктом этого проекта было разработанное приложение-переводчик, которое на старте выполняет перевод некоторых слов. Следует отметить, что это приложение не доработано полностью, так как оно имеет в виду, что позже можно также переводить предложения, используя синтаксическую фазу компилятора. Но в целях демонстрации разработанных основных фаз компилятора, включая лексические,в заявке можно сказать, что цели достигнуты и что с развитием этого проекта были получены хорошие результаты, которые впоследствии будут использоваться в образовательных целях в университетском секторе.

КЛЮЧЕВЫЕ СЛОВА:

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

1. ВВЕДЕНИЕ

В настоящее время использование переводчика очень важно, в основном для молодых людей, поскольку в противном случае между ними возникнет барьер, который мешает общению, согласно тому, что упоминается в статье, опубликованной Mercedes Errutia Cavero.

Языковой переводчик играет очень важную роль в жизни студента университета, экономя ему много времени, потому что ему не нужно искать слова в физическом словаре, и поэтому считается, что его использование более практично.

В этой статье рассказывается о реализации проекта 2015 года по созданию переводчика методом лексического анализатора.

Существуют разные методы разработки языкового переводчика, некоторые из них:

  • Используя теорию компилятора. (Создание базы данных на Java).
  • Используйте для циклов в c ++.

В этом проекте используется первый метод применения теории компилятора на практике.

Компилятор - это программа, которая переводит программу, написанную на исходном языке, это можно увидеть графически в

Рисунок 1.1.

Рисунок 1.1 - Общая схема компилятора.

Компилятор создается на этапах, которые, в свою очередь, делятся на две основные части: анализ и синтез.

Иногда процесс компиляции бывает непростым, иногда приходится переходить с одного языка на другой, а затем на другой, как показано на рисунке 1.2, и это будет зависеть от сложности компиляции.

Рисунок 1.2 - Схема компилятора с промежуточным языком.

Часть анализа состоит из трех этапов:

Лексикографический анализ

Синтаксический анализ

Семантический анализ

Вторая часть синтеза состоит из трех других фаз:

Генерация промежуточного кода

Оптимизация кода

Генерация кода.

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

1.1- ИСТОРИЯ

В 1950 г. Г. М. Хупер ввел термин «компилятор», и первые работы по компиляторам, связанным с переводом арифметических формул в код, появились на компиляторах, связанных с переводом арифметических формул в машинный код.

Кнут разрабатывает большинство техник синтаксического анализа.

Вирт предлагает концепцию промежуточного представления кода, разделяя процесс перевода на две фазы: интерфейс, отвечающий за анализ исходной программы (операции, зависящие только от исходного языка), и сервер, отвечающий за генерацию кода для машины. объект.

1.2- ПЕРЕВОДЧИКИ И ПЕРЕВОДЧИКИ

Переводчик - это любая программа, которая берет текст, написанный на одном языке, и выводит другой язык (называемый объектом, рисунок 1.3).

Интерпретатор напрямую выполняет операции в исходной программе; это можно увидеть на Рисунке 1.4.

Рисунок 1.4 - Схема интерпретатора.

2.- РАЗРАБОТКА

2.1- МЕТОДОЛОГИЯ

В этом проекте был сделан испанско-английский переводчик с использованием методов компиляции, изученных в курсе. Для реализации проекта использовались инструменты:

  • java flex java java

Для разработки этого проекта использовалась программа IDE NetBeans версии 8.0.2.

Было решено использовать IDE NetBeans 8.0.2, поскольку это интегрированная бесплатная среда разработки, созданная в первую очередь для языка программирования Java. Это бесплатная программа без ограничений на использование, как и инструменты, с которыми мы работаем (упомянутые выше). Созданная программа состоит из уже упомянутых элементов, которые мы видим на Рисунке 1.5.

Рисунок 1.5 - Элементы, составляющие приложение.

Описание инструментов

Теперь будет дано описание инструментов.

Interface.java-

На рис. 1.6 показана часть, содержащая журнал, в котором будут отображаться результаты перевода, и кнопки, содержащие код.

Lexer.flex Рисунок 1 -.6 - Общий пользовательский интерфейс.

На рис. 1.7 вы можете увидеть инструмент Lexer, который используется для отправки типа объекта, который был обнаружен как внесенный, то есть через него вызывается токен.

Рисунок 1.7 - Показывает, как активируется токен.

Token.-

Инструмент Token, показанный на рисунке 1.8, используется для процесса перевода, он содержит символы слова, а также символы или числа, которые приложение сможет распознать.

Рисунок 1.8 - Токен, строка символов

TranslatorJFlex.java. составляющие приложение. -

Учитывая введенные регулярные выражения, которые распознают токен, он автоматически генерирует распознающий автомат, как показано на рис. 1.9.

Рисунок 1.9 - Часть, где генерируется распознающий автомат.

2.2- РЕЗУЛЬТАТЫ

Ниже показано, как работает переводчик.

Шаг 1: Сначала приложение запускается, и появляется то, что показано на рисунке 1.10.

Рисунок 1.10 - Главный экран приложения.

Шаг 2: Теперь, как показано на рисунке 1.11, слово для перевода написано в текстовом поле.

Рисунок 1.11 - Слово для перевода написано.

Шаг 3: После того, как слово было написано, нажмите кнопку

«Перевести», как показано на рисунке 1.12.

Рисунок 1.12 - Перевод слова.

Шаг 4: На рисунке 1.13 вы можете увидеть, как переводится слово, теперь вы просто нажимаете кнопку «ОК», чтобы закрыть это окно.

Рисунок 1.13 - Экран результатов перевода.

3.- ВЫВОДЫ

В заключение можно сказать, что поставленная вначале цель была достигнута, и это приложение было решено с помощью лексического инструментария. Этот проект очень полезен для студенческого сообщества, в основном для студентов университетов, поскольку на данном этапе жизни важнее знать другой язык, потому что таким образом создается больше возможностей для развития, как в социальном, так и в профессиональном плане. Помня о том, что это еще не полностью законченный проект, так как он все еще должен уметь переводить предложения и анализировать, что указанные предложения написаны правильно, применяя на практике синтаксическую фазу компилятора, поскольку он отвечает за анализ структуры приговор; а также проверяет, соответствуют ли образцы, полученные лексическим анализатором, синтаксической структуре языка.

4.- ССЫЛКИ

  • Аликс Андерсон (2011), Важность изучения второго языка, Исследовательская статья, страницы 1-2. URL: https://www.gvsu.edu/cms3/assets/F8585381E4E9-6F8E-F7EE2083CCE4F9AC/2011/nuestros_ensayo s_- _la_importancia_de_aprender_una_segunda_l engua.pdf Mercedes Errutia Cavero (консультация в феврале 2016 г.), Точности перевода: важность и особенности технического перевода, Исследовательская статья. URL: dialnet.unirioja.es/descarga/articulo/232414.p dfDragonJar (2011), Как создать переводчик?, Форум исследований компьютерной безопасности. URL: http://comunidad.dragonjar.org/f201/comocrear-un-traductor-en-java-12765/Sergio Gálvez Rojas, Miguel Ángel Mora Mata (2005 г.), Java вверху: компиляторы, книга в формате PDF, страницы 3, 16-18. URL: http://www.lcc.uma.es/~galvez/ftp/libros/Co mpiladores.pdf Эдуардо Серна Перес (1997), Введение в компиляторы, статья для распространения, страницы 5 - 8. URL: http: //www.paginasprodigy.com/edserna/curs os / compiler / notes / Notes1.pdf София Н. Галисия Аро, Александр Гельбух (2007), Исследования в области синтаксического анализа для испанского языка, первое издание 2007 года, Национальный политехнический институт, страницы 130 - 140.
Загрузите исходный файл

Переводчик; через лексическую фазу методологии компилятора