Skip to main content

FilterKaapi: A Tamil-inspired programming language

Project description

โ˜• FilterKaapi Language

FilterKaapi is a Tamil-inspired programming language written in Python.
Just like Chennai's famous filter coffee, this language is simple, strong, and gives a warm kick to coding!

๐Ÿ–‹๏ธ Keywords are in Tamil to make coding feel closer to home:

  • kaapi โ†’ print (like pouring kaapi โ˜•)
  • vechiko โ†’ variable declaration (means "keep it")
  • iruntha ... ilana ... โ†’ if ... else
  • varai โ†’ while loop
  • seyyu โ†’ Functions
  • notepaniko โ†’ Input from user
  • push,pop,remove,length โ†’ List operations

๐Ÿš€ Features

  • ๐Ÿ“ Tamil keywords for programming basics
  • โž• Arithmetic operations (+, -, *, /, %, //)
  • ๐Ÿ”‘ Variables with vechiko
  • ๐Ÿ” Conditional logic with iruntha ... ilana ...
  • ๐Ÿ” varai for loops
  • ๐Ÿ“ฆ seyyu for functions
  • ๐Ÿ–ฅ๏ธ REPL and script execution support
  • ๐Ÿ“‹ List support with built-in functions:
    • push โ†’ add an element to a list
    • pop โ†’ remove last element
    • remove โ†’ remove a specific value
    • length โ†’ get list size

๐Ÿ“ฆ Installation

For now, install from source:

git clone https://github.com/chiddesh/filterKaapi.git
cd filterKaapi
pip install .

After installation, run:

kaapi main.kaapi

Or start the interactive REPL:

kaapi

๐Ÿ”ค Language Syntax

Input

notepaniko <var_name> "message"
  • example
    notepaniko name "Enter Name"
    kaapi name
    
  • output
    "Enter Name:" your_name
    your_name
    

Printing

kaapi "Vanakkam Chennai!"
  • output

    Vanakkam Chennai!
    

Variables

vechiko x = 10
kaapi x
  • output

    10
    

Lists

vechiko myList = [1,2,3,4,5]
kaapi myList
  • output
    [1,2,3,4,5]
    

List Operations

vechiko myList = [1,2,3,4,5]
kaapi myList[0] โ†’ indexing
push myList[6] โ†’ push operation appends
kaapi myList
pop mylist โ†’ pop's last element
kaapi myList
remove myList[1] โ†’ remove a particular element
kaapi myList
len myList โ†’ print the length of the list
kaapi myList
  • output
    1 โ†’ after indexing
    [1,2,3,4,5,6] โ†’ after push operation
    [1,2,3,4,5] โ†’ after pop operation
    [2,3,4,5] โ†’ after remove operation
    4 โ†’ len operation
    

Arithmetic

kaapi (5 + 3) * 2
  • output

    10
    

Functions

seyyu function_name(args)
    body
mudinchu
  • example

    seyyu add(a,b)
        kaapi a + b
    mudinchu
    
    add(2,5)
    
  • output

    7
    

If/Else

5 > 3 iruntha kaapi "Periya number" ilana kaapi "Siriya number"
  • output

    Periya number
    

While Loop

vechiko i = 0
varai i < 5
    kaapi i
    vechiko i = i + 1
end
  • output

    0
    1
    2
    3
    4
    

๐Ÿ›  Project Structure

kaapi_lang/
 โ”œโ”€โ”€ __init__.py
 โ”œโ”€โ”€ cli.py           # CLI entry point
 โ”œโ”€โ”€ interpreter.py   # Evaluator
 โ”œโ”€โ”€ lexer.py         # Tokenizer
 โ”œโ”€โ”€ parser.py        # Parser
 โ””โ”€โ”€ main.py          # Runner

setup.py              # For packaging

๐Ÿ‘จโ€๐Ÿ’ป Author

Created with โค๏ธ in Chennai by Chiddesh Ram
Inspired by strong Filter Kaapi and a love for coding.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

filterkaapi-0.1.4.tar.gz (7.0 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

filterkaapi-0.1.4-py3-none-any.whl (9.1 kB view details)

Uploaded Python 3

File details

Details for the file filterkaapi-0.1.4.tar.gz.

File metadata

  • Download URL: filterkaapi-0.1.4.tar.gz
  • Upload date:
  • Size: 7.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.12.3

File hashes

Hashes for filterkaapi-0.1.4.tar.gz
Algorithm Hash digest
SHA256 c35197267f1c5c03a11c21797c452cfb00757e3f9b47f7f23b5ccced6936199e
MD5 66511bd50b127e73ab4f0f2f8dec059a
BLAKE2b-256 ca17fe61e851057ef290ebf281214c7fa6c479bb7e4a687da9c40915209e6697

See more details on using hashes here.

File details

Details for the file filterkaapi-0.1.4-py3-none-any.whl.

File metadata

  • Download URL: filterkaapi-0.1.4-py3-none-any.whl
  • Upload date:
  • Size: 9.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.12.3

File hashes

Hashes for filterkaapi-0.1.4-py3-none-any.whl
Algorithm Hash digest
SHA256 a5e038ff21d1ea4ddaedc64e16f9679c8a38f8da10bb03d19c25147aa02fa0aa
MD5 a0235813e2867978da5529b106bc7fea
BLAKE2b-256 343d27ef7e28fdfabf240825a9c8ed44a4c8fe53b4e7ad5c3518d4cbcf08cb3d

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page