Coder Social home page Coder Social logo

ezhil-language-foundation / ezhil-lang Goto Github PK

View Code? Open in Web Editor NEW
171.0 37.0 46.0 9.23 MB

எழில் - ஒரு தமிழ் நிரலாக்க மொழி; தமிழ் மாணவர்களுக்கு இது முதல்முறை கணிப்பொறி நிரல் ஏழுத உதவும் (Ezhil, is a fun Tamil programming language for K-12).

Home Page: http://ezhillang.org/

License: GNU General Public License v3.0

JavaScript 3.07% Emacs Lisp 0.31% PHP 0.37% Python 32.42% Shell 0.96% HTML 16.32% CSS 1.20% Makefile 0.01% Nemerle 0.55% Batchfile 0.02% Roff 44.71% Dockerfile 0.08%
programming-language python ezhil-language tamil

ezhil-lang's People

Contributors

arcturusannamalai avatar askalot avatar dependabot[bot] avatar digital-carver avatar gitter-badger avatar kracekumar avatar marathonfail avatar msathia avatar nchokkan avatar sbuvaneshkumar avatar tshrinivasan avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

ezhil-lang's Issues

translate error messages to Tamil

Ideally we move strings to a class static variables like in Ezhil-Lang/blob/master/ezhil/errors.py

Following classes need work,

  1. /Ezhil-Lang/blob/master/ezhil/ezhil_parser.py
  2. /Ezhil-Lang/blob/master/ezhil/ezhil_scanner.py
  3. /Ezhil-Lang/blob/master/ezhil/scanner.py
  4. /Ezhil-Lang/blob/master/ezhil/runtime.py

parsing nested if statements has bugs today

'''Some flavors''' of if statements can show errors. We need exhaustive testing for this to validate the current implementation.

e.g. Can you make 2,3,4,5 ... n level nested if-statements and check if they parse and evaluate correctly ?

The following works, but we need more variants like this to be tested in suite;
@( 0 < 1 ) ஆனால்
பதிப்பி "will print 0/1"
@( 0 < 3 ) ஆனால்
பதிப்பி "will print 0/3"
முடி
@( 0 > 3 ) ஆனால்
பதிப்பி "wont print 0/3"
முடி
முடி

Demo lisp expression evaluator

You can make a simple expression evaluator in Ezhil for recognizing and evaluating lisp arithmetic expressions.

This is similar to the rpn.n example but more expressive.

The demo will show the ezhil and stack based processing ideas.

parse error for while statement within a if statement.

Following code throws a parse error on line 12, when second if-statement cannot be parse correctly.

# demo of a while loop
i = 10

@( True ) ஆனால்
  @( i > 0 ) வரை
     பதிப்பி i
     அச்சிடு("iteration = %d",i)
    i = i  - 1
    @( i > 5 ) ஆனால்
        printf(" i > 5\n");
    @( i == 4 ) இல்லைஆனால்
        printf(" i == 4\n");
     முடி 
   முடி
முடி```

FAQs for Ezhil language

Make a FAQs for Ezhil language addressing the basic question of encoding.
Recommend users to pursue the localhost installation.

நிரல் இயக்கியில் குறைநீக்கல்; தவறு களைதல, பரிசோதனை செய்தல்

நிரல் இயக்கியில் குறைநீக்கல்; தவறு களைதல்

  1. மாறி மதிப்பை காணுதல்
  2. ஏதேனும் நிரல்பாகத்தை செயல்படுத்தல்
  3. ஏதேனும் ஒரு நிரல் வரியில் பரிசோதனை செய்தல்
  4. வரிவரியாக நிரலை இயக்குதல், அல்ல பரிசோதனையை நிருத்துதல்

எழில் இயக்கி AST பொருட்களை பயன்படுத்தக்கூடாது

எழில் இயக்கி AST பொருட்களை பயன்படுத்தக்கூடாது.
பைதனின் இயல்பான பொருள் வகைகளை பயனபபடுத்தினால் இயக்கியின் வேகம், செயல்பாடும் முன்னேர வாய்புள்ளது.

    import ast

Ref: https://greentreesnakes.readthedocs.org/en/latest/

Execute ezhil code from file using 'execfile'

Execute ezhil code from file using 'execfile' function.

This task involves writing a builtin function xalled execfile (Just like in Python)..

This may be thought of as a composition of loadfile() and eval() (both of these are not part of Ezhil as of writing).

The function will load the contents of a file into the current interpreter state.

Then it will execute any contents of the file that are not function declarations.

koodam எழில் கூடத்தில் உள்ளீடு() மற்றும் turtle() சொயலிகளில் உள்ள எ.கா. நீக்குக

A) உள்ளீடு() மற்றும் turtle() சொயலிகளில் உள்ள எ.கா. நீக்குக

  1. ackermann
  2. age

B) உள்ளீடு() மற்றும் turtle() சொயலிகளில் இயக்கத்தில் பிழை அறிவிப்பு தரவும்
Show error message for these functions from koodam

eval Ezhil code from within user program

Basic feature was added in 66ca30d under issue #78

eval builtin function should take contents of a string, which is a Ezhil program, and then execute it in current state of the interpreter and return a value.

Errors in code should throw.

Statement evaluation should return None return value.

Expressions evaluation should return the same value.

Load definitions from Ezhil file/module 'loadfile' -

Load ezhil code from file using 'loadfile' function.

This task involves writing a builtin function xalled loadfile (Just like "import" in Python)..

This may be used in conjunction with eval(). (both of these are not part of Ezhil as of writing).

The function will load the contents of a file into the current interpreter state.

after runtime error local variables are trashed;

Ezhil environment should be protected from runtime errors on underlying Python calls

எழில் 16>> y = "fool"
fool
எழில் 17>> printf("%d",y)
(u'failed dispatching function ', u'[BuiltinFunction[printf,nargs=-1]]', u'with exception', u'Run-time error: %d format: a number is required, not unicode')
Exception in code, at line 17,  "printf("%d",y)" 
 >>>>>>> Run-time error: Run-time error: %d format: a number is required, not unicode 
எழில் 18>> y
Exception in code, at line 18,  "y" 
 >>>>>>> Run-time error: Cannot Find Identifier y at Line 19, col 0.  

Language feature - import statement

Develop a new language feature - import statement.
This is similar to Python/Java where code modularization can help software to be better managed.

  1. உள்ளடக்கு, or சேர்க்க sound like good keywords to have.
  2. Alternative implementation can introduce a builtin function instead.

Type checker for ezhil - rules list

Find a list of rules for type checking Ezhil AST.

  1. You may only add like types. I.e. (You may only add numbers or strings but never between each other)
  2. You may index arrays with only integers or numbers
  3. You can type check argument types, and number of builtin functions.
  4. You may type check arguments for number of args in a function call.

செயல்பாட்டில் பிழை ஏற்பட்டால் எழில் தொகுப்பி நிரல் குவிப்பை (stack trace) பின்தறவேண்டும்

எழில் நிரல்பாகம் ஒன்றினில் அழைக்கப்படும் செயல்பாட்டில் பிழை ஏற்பட்டால் எழில் தொகுப்பி நிரல் குவிப்பை பின்தறவேண்டும்

Accept input in UTF-8, and TSCII encoding

Address some of critiques leveled against Ezhil language (comments by Senthil Raja, et-al in their 2014 INFITT article), we will accept programs written in other encoding like TSCII to demonstrate Ezhil is not limited by encoding.

Our internal encoding will continue to be UTF-8.

Ideally we may support any encoding capable of conversion into Unicode, via the open-tamil library.

நிரல் இயக்கியில் நேர ஆலோசனைகளை கணக்கிட நேர தன்விவரக்குறிப்பு

நிரல் இயக்கியில் நேர ஆலோசனைகளை கணக்கிட - நேர தன்விவரக்குறிப்பு

  • நேர முன்குறிப்பு விவரம் - பிரோபைலர் ஒன்றை உருவாக்குக.
    Ref: http://arxiv.org/abs/0810.3468

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.