/ChuchuPlusPlus

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

Primary LanguageJavaScriptApache License 2.0Apache-2.0

Chuchu++ Grammar



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)



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 adrian@qmindgroup.com and rudolfcicko2016@gmail.com.

License

Chuchu++ is a Open Source project licensed under Apache 2.0.