Skip to content

A lexical analyzer for the C- language made in Python using Moore's Machine.

Notifications You must be signed in to change notification settings

GustavoMartinx/LexicalAnalyzer-Scanner

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

9 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Lexical Analyzer (Scanner)

This Lexical Analyzer (or Scanner) for the C- language was made in Python using a Moore Machine applying knowledge from Theory of Computing.


How to Execute and How It Works

The program receives a source code as input in the C- language and as output generates a list of tokens.


Before executing it, it is necessary to install some dependencies, such as the Python programming language and after having it properly installed, it will be necessary to install one of its libraries, the automata-python . For that:

  • Access the official website for more information about the Python language and install it.
  • Install the mentioned library using the command: pip install automata-python.


To use the Lexical Analyzer just insert a source code in the C- language in the same directory where the file lexical_analyzer.py is found and run the following command:

python lexical_analyzer.py <test_file.cm>

where <test_file.cm> is the name of the C- source file that will be received as input.




Analizador Léxico

O objetivo deste trabalho foi projetar e implementar um autômato com saída, do tipo Máquina de Moore que funcione como um Analisador Léxico para a linguagem de programação C-, colocando em prática, dessa forma, conceitos estudados da disciplina de Teoria da Computação (ou Linguagens Formais, Autômatos e Computabilidade).



Como Executar e Funcionamento

O programa recebe como entrada um código-fonte na linguagem C- e, como saída, gera uma lista de tokens. Veja mais detalhes sobre como este trabalho foi feito no relatório técnico - Report.pdf


Antes de executar, faz-se necessário a instalação de dependências, como a linguagem de programação Python e após tê-la devidamente instalada, será necessária a instalação de uma de suas bibliotecas, a automata-python. Para tanto:

  • Acesse o site oficial para obter mais informações sobre a linguagem Python e realize sua instalação.
  • Instale a biblioteca mencionada através do comando: pip install automata-python.


Para utilizar o Analisador Léxico basta inserir um código-fonte na linguagem C- no mesmo diretório em que o arquivo lexical_analyzer.py se encontra e executar o seguinte comando:

python lexical_analyzer.py <test_file.cm>

onde <test_file.cm> é o nome do arquivo-fonte em C- que será recebido como entrada.

About

A lexical analyzer for the C- language made in Python using Moore's Machine.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages