{"id":27620912,"url":"https://github.com/natevelang/eve","last_synced_at":"2025-04-23T07:32:56.519Z","repository":{"id":57444968,"uuid":"431575338","full_name":"NateveLang/Eve","owner":"NateveLang","description":"Nateve tokenizer fully built with python 3.8","archived":false,"fork":false,"pushed_at":"2022-01-15T17:52:23.000Z","size":3223,"stargazers_count":2,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-04-20T12:59:31.310Z","etag":null,"topics":["language","nateve","nateve-language","programming-language","python","transpiler"],"latest_commit_sha":null,"homepage":"https://pypi.org/project/nateve-eve/","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/NateveLang.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2021-11-24T17:36:59.000Z","updated_at":"2022-01-10T20:54:03.000Z","dependencies_parsed_at":"2022-09-26T17:30:41.772Z","dependency_job_id":null,"html_url":"https://github.com/NateveLang/Eve","commit_stats":null,"previous_names":[],"tags_count":2,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/NateveLang%2FEve","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/NateveLang%2FEve/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/NateveLang%2FEve/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/NateveLang%2FEve/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/NateveLang","download_url":"https://codeload.github.com/NateveLang/Eve/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":250392303,"owners_count":21423043,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["language","nateve","nateve-language","programming-language","python","transpiler"],"created_at":"2025-04-23T07:32:55.661Z","updated_at":"2025-04-23T07:32:56.510Z","avatar_url":"https://github.com/NateveLang.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Eve\n\nEve is a Nateve Programming Language tokenizer developed using python 3.8\n\n## Nateve\n\nNateve is a new general domain programming language open source inspired by languages like Python, C++, JavaScript, and Wolfram Mathematica.\n\nNateve is an transpiled language. Its first transpiler, Adam, is fully built using Python 3.8.\n\n## Nateve principal features\n\n### 1. Simple and easy to use\n\nJust install the package and start coding.\n\n### 2. Intuitive and easy to understand\n\nQuickly understand the language and its features.\n\n### 3. 100% free and open source\n\nThe language is free and open source. You can use it for any purpose. See the [license](LICENSE).\n\n### 4. 100% customizable\n\nYou can customize the language to your needs. You can make your own language from scratch. See the [Welcome to Nateve templates](#welcome-to-nateve-templates) section for more information.\n\n## Welcome to Nateve templates\n\nNateve Language includes a set of templates that can be used to customize Nateve. Templates are Python modules included in the templates subpackage. You can also create your own templates.\n\nA template is a Python module that contains a set of words translations, functions definitions, and many other customizations. Every template can be used to customize Nateve. You just need to import the template with the `using` command and then use the template in the Nateve source code.\n\nLearn more about templates in the [templates use](#using-templates) section.\n\n## Why use Nateve templates?\n\n### 1. Customization\n\nYou can customize the language to your needs. Feel free to create your own templates or modify existing templates.\n\n### 2. Team work\n\nYour team can work together using different languages in the same file or project. For example, you can start coding in English and then switch to French.\n\nIt makes it easier to work together. Different team members can work on the same project using their native languages.\n\n### 3. Easy to share\n\nYour templates can be used by other developers. You can easily share your templates with the community.\n\n## Options of command line\n\n1. `build`: Transpile Nateve source code to Python 3.8\n2. `run`: Run Nateve source code\n3. `transpile`: Transpile Nateve source code to an executable file (.exe)\n4. `run-init-loop`: Run Nateve source code with an initial source and a loop source\n5. `set-time-unit`: Set Adam time unit to seconds or miliseconds (default: milisecond)\n6. `-v`: Activate verbose mode\n\n## Nateve Tutorial\n\nIn this tutorial, we will learn how to use Nateve step by step.\n\n### Step 0: Learn the basics\n\nWe recommend read this README.md file.\n\n### Step 1: Installation\n\nRecommend Installation:\n\n#### Clone the repo\n\n```bash\n$\u003e git clone ...\n```\n\n#### Add to path\n\n#### Add your favorite templates\n\n### Step 2: Create a new Nateve file\n\n```bash\n$\u003e cd my-project\n$\u003e COPY CON main.nateve\n```\n\n### Quick start examples\n\n#### Hello World program\n\n```python\nprint(\"Hello, World!\")\n```\n\n#### Is prime? program\n\n```python\ndef is_prime(n) {\n    if n == 1 {\n        return False\n    }\n    for i in range(2, n) {\n        if n % i == 0 {\n            return False\n        }\n    }\n    return True\n}\n\nn = ninput(\"Enter a number: \")\n\nif is_prime(n) {\n    print(\"It is a prime number.\")\n}\nelse {\n    print(\"It is not a prime number.\")\n}\n```\n\n### Comments\n\nIf you want to comment your code, you can use:\n\n```bash\n~ This is a single line comment ~\n\n~\n    And this a multiline comment\n~\n```\n\n### Variables\n\nThis language uses variables. For declaring variables, you just need to write the name of the variable and the value of the variable.\n\nFor example:\n\n```python\na = 1                          ~ Interger ~\nb = 1.0                        ~ Float ~\nc = 1 + 2j                     ~ Complex ~\nd = \"hello\"                    ~ String ~\ne = True                       ~ Boolean ~\nf = [1,2,3]                    ~ List ~\ng = (1,2)                      ~ Tuple ~\nh = Vector([1,2,3])            ~ Vector ~\ni = Polynomial(\"1 +2x +x^2\")   ~ Polynomial ~\nj = Matrix(\"\"\"\n| 1 1 2 3 4 |\n| 0 1 2 3 4 |\n| 1 1 2 3 4 |\n| 1 1 2 3 4 |\n| 1 1 2 3 4 |\n\"\"\")                           ~ Matrix ~\n```\n\nNateve allows data type as Integer, Float, Complex, Boolean, String, List, Tuple, None, Vector, Polynomial and Matrix.\n\n### Lists\n\nThe Lists allow to use all the data types before mentioned, as well as lists and functions.\n\nAlso, they allow to get an item through the next notation:\n\n```python\nvalue_list = [1,2,3,4,5,6,7,8,9]\nprint(value_list[0])      ~ Output: 1 ~\nprint(value_list[0 : 4])  ~ Output: [1,2,3,4] ~\n```\n\n### Functions\n\nFor declaring a function, you have to use the next syntax:\n\n```python\ndef example_function(argument1, argument2, ...) {\n    sentence1\n    sentence2\n    ...\n    return Return_Value\n} \n\nexample_function(argument1, argument2, ...) ~ Call the function ~\n```\n\n### Conditionals\n\nRegarding the conditionals, the syntax structure is:\n\n```python\nif condition {\n    consequence\n}\nelif condition {\n    other_consequence\n}\n...\nelse {\n    default_consequence\n}\n```\n\nFor example:\n\n```python\nif x \u003c= 1 and x % 3 == 0 {\n    a = 0\n}\nelif x == 9 {\n    a = 1\n}\nelse {\n    a = 2\n}\n```\n\n### Loops\n\nIn order to use loops, you have to use the next syntax:\n\n#### While Loop\n\n```python\nwhile condition {\n    sentence1\n    sentence2\n    ...\n}  \n```\n\n#### For Loop\n\n```python\nfor iterator in iterable {\n    sentence1\n    sentence2\n    ...\n}  \n```\n\n## Using Templates\n\nOne of the most important features of Nateve is the use of templates. Templates are a way to write code in a more readable way. They are words translations written in Python. In order to use templates, you just have to write the protected word \"using\", and then, write the name of the template. For example:\n\n```c++\nusing \"template_name\"\n```\n\nNateve includes the following standard templates:\n\n1. `\"english\"`: This template is used to write the code of the program in English. It is the default template.\n2. `\"spanish\"`: This template is used to write the code of the program in Spanish.\n3. `\"french\"`: This template is used to write the code of the program in French.\n\nYou also can use your own templates. Just create a file with the name of the template and write the code of the template in the file. Here is a blank template:\n\n```python\n# The name of the transpiler. This line is required. Do not change it.\ntranspiler_name = \"adam\"\n\n\"\"\"\nThe following code is the translation of the code.\nYou can write your code here and modify the content of the variables.\nDo not change the name of the variables.\n\"\"\"\n\n# All the symbols that the transpiler uses.\nmayusc = \"ABCDEFGHIJKLMNÑOPQRSTUVWXYZ\"\nalphabet = mayusc + mayusc.lower() + \"_\"\ndigits = \"0123456789\"\nalphanum = alphabet + digits\nblanks = \"/t /n\"\nstrings = [\"'\", '\"', '\"\"\"', \"'''\"]\ncommentaries = \"~\"\nfloating = \".\"\none_char_symbols = \"+-*/%=\u003c\u003e()[]{}#$@,.\"\ntwo_char_symbols = [\"//\", \"==\", \"\u003c=\", \"\u003e=\"]\n\n# All the data types that the transpiler uses.\nFLOAT = \"float\"\nINT = \"int\"\nCOMPLEX = \"complex\"\nSTRING = \"string\"\nDOCSTRING = \"docstring\"\nNULL = \"none\"\n\n# All the keywords that the transpiler uses.\nUSE, WAIT, INCLUDE = \"using\", \"wait\", \"include\"\nIMPORT, FROM, AS, PASS, IN = \"import\", \"from\", \"as\", \"pass\", \"in\"\nIF, ELIF, ELSE = \"if\", \"elif\", \"else\"\nTRY, EXCEPT = \"try\", \"except\"\nWHILE, FOR, BREAK, CONTINUE = \"while\", \"for\", \"break\", \"continue\"\nOPERATOR, RETURN = \"def\", \"return\"\nCLASS, SELF = \"class\", \"self\"\nAND, OR, NOT, TRUE, FALSE = \"and\", \"or\", \"not\", \"True\", \"False\"\n\n# All the status codes that the transpiler uses.\nidentifier = 300\neof = 400\n\n# All extra functions that the transpiler uses. Feel free to add your own functions.\n# The string special_functions is used to write these functions.\n# You can use variables in it using the fstring notation.\n# For example: \"include\" function calls the variable transpiler_name.\nspecial_functions = f\"\"\"\ndef ninput(prompt = '', default = ''):\n\\treturn float(input(prompt, default))\n\ndef binput(prompt = '', default = ''):\n\\treturn bool(input(prompt, default))\n\ndef update_std():\n\\tsubprocess.call([sys.executable, '-m', 'pip', 'install', 'eggdriver'])\n\ndef include(file_name = ''):\n\\tfile = file_name.split('.')[0]\n\\tsubprocess.call([sys.executable, '-m', '{transpiler_name}', 'build', file])\n\"\"\" \n```\n\n## Some Examples\n\n```python\n~Nateve Example 1~\n\nupdate_std()  ~update std library~\n\nfor i in range(2) {\n    print(i)\n}\n\ninstall(\"matplotlib\")\n\ntry {\n    print(2/0)\n}\n    \nexcept {\n    print(\"xd\")\n}\n```\n\nOutput:\n\n```bash\n0\n1\nmatplotlib successfully installed\nxd\n```\n\n```python\n~Nateve Example 2~\n\ntheta = pi/3\nprint(sin(theta), cos(theta), tan(theta))\n\np = sin_serie\nprint(p.eval(theta))\n\nderive(p)\n\nprint(p.eval(theta))\n\nimport numpy as np\nx = \"hello\"\nc = Matrix(\"\"\"\n| 1 1 2 3 4 |\n| 0 1 2 3 4 |\n| 1 1 2 3 4 |\n| 1 1 2 3 4 |\n| 1 1 2 3 4 |\n\"\"\")\nc.display()\n\na = Vector(\"[ 1 2 3 4 5 6 30 0 9]\")\na.display()\n```\n\nOutput:\n\n```bash\n0.8660254037844386 0.5000000000000001 1.73205080756887\n0.8660254037844386\n0.5000000000000001\n| 1 1 2 3 4 |\n| 0 1 2 3 4 |\n| 1 1 2 3 4 |\n| 1 1 2 3 4 |\n| 1 1 2 3 4 |\n[ 1 2 3 4 5 6 30 0 9 ]\n```\n\n```python\n~Nateve Example 3~\n\nusing \"spanish\"\n\ntheta = pi/3\nimprime(sen(theta), cos(theta), tan(theta))\n\np = serie_sen\nimprime(p.eval(theta))\n\nderiva(p)\n\nimprime(p.eval(theta))\n\nimporta numpy como np\nx = \"hello\"\nc = Matriz(\"\"\"\n| 1 1 2 3 4 |\n| 0 1 2 3 4 |\n| 1 1 2 3 4 |\n| 1 1 2 3 4 |\n| 1 1 2 3 4 |\n\"\"\")\nc.display()\n\na = Vector(\"[ 1 2 3 4 5 6 30 0 9]\")\na.display()\n```\n\nOutput:\n\n```bash\n0.8660254037844386 0.5000000000000001 1.73205080756887\n0.8660254037844386\n0.5000000000000001\n| 1 1 2 3 4 |\n| 0 1 2 3 4 |\n| 1 1 2 3 4 |\n| 1 1 2 3 4 |\n| 1 1 2 3 4 |\n[ 1 2 3 4 5 6 30 0 9 ]\n```\n\n```python\n~Nateve Example 4~\n\nusing \"spanish\"\n\namo_Nateve = verdadero\n\nsi  amo_Nateve == verdadero {\n    imprime(\"Yo amo Nateve!\")\n}\n\ndelocontrario {\n    imprime(\"Odio Nateve :c\")\n}\n\nusando \"english\"\n\nif 1 \u003c 3 {\n    print(\"Try Nateve!\")\n}\nelse {\n    print(\"NO\")\n}\n\nusing \"french\"\n\nv = \"Bonjour\"\nimprimer(v, \"Nateve!\")\n```\n\nOutput:\n\n```bash\nYo amo Nateve!\nTry Nateve!\nBonjour Nateve!\n```\n\n## Feedback\n\nI would really appreciatte your feedback. You can submit a new issue.\n\n## Contribute\n\nThis is an **opensource** project, everyone can contribute and become a member of the community of **Nateve**.\n\n## Why be a member of the Nateve community?\n\n### 1. A simple and understandable code\n\nThe source code of Adam is made with Python 3.8, a language easy to learn, also good practices are a priority for this project.\n\n### 2. A great potencial\n\nThis project has a great potential to be the next programming language for education, to develop the quantum computing, and to develop the AI.\n\n### 3. Simple\n\nOne of the main purposes of this programming language is to create an easy-to-learn language, which at the same time is capable of being used for many different purposes.\n\n### 4. Respect for diversity\n\nEverybody is welcome, it does not matter your genre, experience or nationality. Anyone with enthusiasm can be part of this project. Anyone from the most expert to the that is beginning to learn about programming, marketing, design, or any career.\n\n## How to start contributing?\n\nThere are multiply ways to contribute, since sharing this project, improving the brand of SigmaF, helping to solve the bugs or developing new features and making improves to the source code.\n\n- **Share this project**: You can put your star in the repository, use the topic [nateve](https://github.com/topics/nateve) or talk about this project. You can use the hashtag #Nateve in Twitter, LinkedIn or any social network too.\n  \n- **Improve the brand of Nateve**: If you are a marketer, designer or writer, and you want to help, you are welcome.\n  \n- **Help to solve the bugs**: if you find one bug notify us an issue. On this we can all improve this language.\n  \n- **Developing new features**: If you want to develop new features or making improvements to the project, you can do a fork to the `dev` branch (here are the ultimate develops) working there, and later do a [`pull request`](https://docs.github.com/en/github/collaborating-with-pull-requests/proposing-changes-to-your-work-with-pull-requests/creating-a-pull-request) to `dev` branch in order to update **Nateve**.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnatevelang%2Feve","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fnatevelang%2Feve","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnatevelang%2Feve/lists"}