Skip to content

Project presented in the first hackathon that was sponsored by Codigo Facilito in July, 2024. We built a new Programming Language focused in education and LLM models as ChatGpt with a simple syntaxis which allows to generate prompts based in the ingenieering of prompts.

Notifications You must be signed in to change notification settings

CharlyProgrammer/Hackathon-CodigoFacilito2024

Repository files navigation

👨🏻‍💻 Hackathon-CodigoFacilito 2024 "CREANDO UN LENGUAJE DE PROGRAMACIÓN"

🦾 Autores: Ing. Carlos E. Maldonado Caro - Ing. Carlos Fernando Aguilar González

"Hay sólo dos clases de lenguajes de programación: aquellos de los que la gente está siempre quejándose y aquellos que nadie usa"

--Bjarne Stroustrup

AI-Bits es un nuevo lenguaje de programación versátil e inteligente en la era de la IA

✨  ¿Por qué se llama AI-Bits?

Se pensó en el nombre de AI-Bits debido a que se quiso combinar en un solo nombre la inteligencia artificial y los bits, como la unidad mínima de la información. Además, debido a que el lenguaje se complementa con funciones de inteligencia artificial pensamos que encaja muy bien con la palabra bits.

⚙️  Guia de usuario

🔔 Para utilizar AI-Bit en tu propio entorno se deben realizar los siguientes pasos:

Night Coding

  •  Realizar un gitclone al repositorio del proyecto (Necesita de todos sus archivos).
  •  En el archivo .env dentro de la ruta src\source colocar los valores correspondientes a AZURE_OPENAI_ENDPOINT y AZURE_OPENAI_API_KEY (se utilizan para las funcionalidades con IA).
  •  Instalar los siguientes paquetes: os, re, webbrowser, pandas, math, pyfiglet, openai, dotenv, speech_recognition y pyttsx3.
  •  Asegurarse que los scripts Lexador.py, Parser.py, Interprete.py, apuntador_errores.py, chatbot_openai.py y dar_bienvenida.py se encuentren dentro de la ruta src\source.
  •  Asegurarse que shell.py se encuentre en la raiz, ejecutar shell. py que es el script de python que ejecuta el interprete y llama a las funcionalidades del lenguaje.
  •   ejecutar [instruccion] ejecuta las instrucciones en el shell y compilar "[archivo.bts]" --r permite leer las instrucciones desde un archivo (la extension siempre .bts).

⚠️Nota-> Se necesita la palabra "ejecutar" siempre antes de cualquier instruccion, a menos que se use "compilar"

📊  Diagrama

🤖  Funcionalidades

  •  Programación --> Definición de Variables, condicionales, iteradores, funciones propias
  •  Operaciones matematicas y logicas --> Aritmeticas, compuertas lógicas, comparación
  •  Programación --> Navegación web
  •  Programación --> Traducción con IA
  •  Programación --> Asistente inteligente con IA para diferentes temas

Operadores, algoritmos y sintexis básica

Operadores y tipos de datos

🐶 Operadores aritmeticos: mas(+), menos(-), por(*), entre(/), elevado(^)
🦊 Operadores de comparación: mayor(:), menor(<), mayor-igual(>=), menor-igual(<=), igual(=), ?(!=)
🐱 Operadores logicos: and, or, not, nand, nor, xor
🐴 keywords para estructuras condicionales: when, other-when, other-case, <> (reemplaza a {})
🦄 keywords para iteradores condicionales (while): wheel-while, do, <> (reemplaza a {})
🦓 keywords para iteradores automaticos (for): wheel, limit, freq, do, <> (reemplaza a {})
🐮 keywords para declaracion de funciones (def): task
🐷 Funciones especiales: factorial, particion, gradiente-comb
🐭 operadores especiales: navegar, traducir, preguntar-ai-experta
🐹 Tipos de datos: ENTERO, REAL, TEXTO

Algoritmos

 Partición
 Gradiente combinatorio

Sintaxis basica

🍇 operaciones básicas -> 3 mas 4, 7 elevado 2, 3 por 4, etc.
🍈 Declaración de variables -> box a: 0, box c: 7, box cd3: "Mi nombre", etc.
🍉 comparación -> a mayor b, a menor-igual b, 3 igual 3, a ? b, etc.
🍊 logicas -> (a mayor b) and (a ? b), not (a menor b) xor (a igual c).
🍌 decision -> when a mayor b do < box a: a mas 2 >.
🥭 ciclos -> wheel-while a mayor b do < box a:a menos 1 >, wheel i:0 limit 10 freq 2 do , etc.
🍓 Funciones -> definir: task add(a,b) -> a mas b, llamar: add(2,3)
🥝 Otros algoritmos -> factorial n, a particion b, gradiente-comb 7
🥑 Funciones novedosas -> "Tema de interes" navegar "[opcion]", "Nombre" traducir "idioma"
🥑 Funciones novedosas -> "Nombre" preguntar-ai-experta "Nombre Chatbot"\

Opciones para navegar [opcion]:

  • videos: YOTUBE
  • tutoriales: WikiHOW
  • diccionario: RAE
  • wikipedia: WIKIPEDIA
  • google: GOOGLE
  • cursos: CodigoFacilito
  • papers: IEEE XPLORE

😎  Desarrolladores

About

Project presented in the first hackathon that was sponsored by Codigo Facilito in July, 2024. We built a new Programming Language focused in education and LLM models as ChatGpt with a simple syntaxis which allows to generate prompts based in the ingenieering of prompts.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 3

  •  
  •  
  •  

Languages