Skip to content

Chuchu++ is a language/grammar built using PEGjs as parser and with it's own code generator, for the Language Processors subject

License

Notifications You must be signed in to change notification settings

Cicko/ChuchuPlusPlus

 
 

Repository files navigation

Chuchu++ Grammar

Chuchu++ Logo

Build Status: Build Status

Chuchu++ is a PL0-based grammar that uses PEGjs for parsing it's code and transform it to an AST, after that you're able to generate javascript code using our own Chuchu++ Code Generator

Please note that development is very early on.

Allowed programming paradigms

  • Imperative paradigm
  • Functional programming paradigm
  • Object-oriented programming paradigm

Allowed types

Chuchu++ is a dynamic type language/grammar, because it'll generate JavaScript code so all types are allowed

Chuchu++ Analyzer Phases

  1. Syntactic analysis (Some features...)
  2. Semantic analysis (Some features...)
  3. Code generation phase (Info here)

Front-End Preview

Analyzer Preview (0.2)

![Analyzer Preview (0.2)](http://i.imgur.com/Z63eLdr.png?1 "Analyzer Preview (0.2)")


Code Generator (0.0.1)
![Analyzer Preview (0.2)](http://i.imgur.com/Qy0Xrzl.png?1 "Code Generator (0.0.1)")

HEROKU DEPLOYMENT

Deploy
Application (can be outdated): Click here...
Testing: Click here...

Dependencies

Name Version
PEGjs >= 0.9.0
ECMAScript >= 6
NodeJS >= 5.*
SQLite >= 3.1.*
Express >= 4.*
EJS >= 2.4.*
Gulp >= 3.9.*
CodeMirror >= 5.*

Used technologies

  • PEGjs
  • NodeJS
  • SQLite
  • Gulp
  • CodeMirror
  • MathJAX
  • jQuery
  • AJAX
  • SASS
  • Underscore
  • Testing: Karma + Mocha + Chai + Sinon
  • Continuous Integration: Travis
  • File Handling
  • RegExp (For the PEG grammar)
  • Views (ExpressJS)
  • ECMA 6
  • Event Handling
  • PAAS Deployment (Heroku)
  • Version control + Collaboration (Git)
  • Java (for the Code Generation Phase)

Running

Just use the 'gulp' command and the default task will be triggered, then access with your browser to http://localhost:5000

Contributing

  1. Find a thing to fix/implement in Issues or come up with your own idea, create a discussion issue for it and get a feedback.
  2. Fork the repo
  3. Create your feature branch (git checkout -b my-new-feature)
  4. Commit your changes (git commit -am 'Add some feature')
  5. Push to the branch (git push origin my-new-feature)
  6. Create new Pull Request

DEVELOPERS

Adrián Rodríguez Bazaga

Rudolf Cicko

** Link to the subject "Procesadores de Lenguajes" (Language Processors):**

** Link to the assignment description:**

Contact the developers

You can contact the developers by sending an email to arodriba@ull.edu.es or using issues

License

Chuchu++ is a Open Source project licensed under GNU GPLv3.

About

Chuchu++ is a language/grammar built using PEGjs as parser and with it's own code generator, for the Language Processors subject

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • JavaScript 89.3%
  • Java 8.4%
  • CSS 1.9%
  • HTML 0.4%