Skip to content
/ Pavo Public

Pavo, a minimalist compiler made for the chair of Compilers at the Universidade Católica de Pernambuco (UNICAP).

License

Notifications You must be signed in to change notification settings

karo-txs/Pavo

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

peacock(1) Pavo

A minimalist compiler

Work done for the Compilers course at the Universidade Católica de Pernambuco (UNICAP).

Doc

Students:

Project Status: In development ⚠️

Features (Functionalities)

lexica Lexical Analyzer

  • Token identification of programs with syntax similar to the C programming language;
  • Personalized error messages.

sintatica Syntactic Analyzer

  • Determines whether the input program represented by the token stream has valid sentences for the programming language with syntax similar to C.
  • Personalized error messages.

semantica Semantic Analyzer

  • Type compatibility (assignment, instance and operations) and scope of variables and methods.
  • Personalized error messages.

geradorCodInter Intermediate Code Generator

  • Arithmetic operations (order of precedence, scope, cast)
  • Structures (if, if else, while, for)

Technologies / Libraries Used

  • JavaJRE - used to run Java platform applications;
  • Scene Builder - generates FXML, an XML-based markup language that enables users to define an application's user interface, separately from the application logic;
  • JavaFX - java-based multimedia software platform for creating and making rich Internet applications available;
  • RichTextFX - provides a text area for JavaFX with API to style ranges of text. It is intended as a base for rich-text editors and code editors with syntax highlighting.

How to run by terminal

cd /dist
java -jar pavo.jar

Program Preview

gifPavo

About

Pavo, a minimalist compiler made for the chair of Compilers at the Universidade Católica de Pernambuco (UNICAP).

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published