{"id":16401687,"url":"https://github.com/alejandrorm-dev/compilador_c_minimo","last_synced_at":"2025-07-22T03:03:53.590Z","repository":{"id":67617200,"uuid":"59317322","full_name":"AlejandroRM-DEV/Compilador_C_minimo","owner":"AlejandroRM-DEV","description":"Proyecto para la materia Seminario de Solución de Problemas de Traductores de Lenguajes II","archived":false,"fork":false,"pushed_at":"2016-05-20T18:38:56.000Z","size":44,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-02-23T14:28:10.018Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"C++","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/AlejandroRM-DEV.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,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2016-05-20T18:28:26.000Z","updated_at":"2016-05-20T18:35:48.000Z","dependencies_parsed_at":null,"dependency_job_id":"97660a04-5486-4de8-97df-2a42858e51ff","html_url":"https://github.com/AlejandroRM-DEV/Compilador_C_minimo","commit_stats":{"total_commits":4,"total_committers":2,"mean_commits":2.0,"dds":0.5,"last_synced_commit":"6c69987749233876c9f7fc0cde9c479f0d3ba531"},"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/AlejandroRM-DEV/Compilador_C_minimo","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AlejandroRM-DEV%2FCompilador_C_minimo","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AlejandroRM-DEV%2FCompilador_C_minimo/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AlejandroRM-DEV%2FCompilador_C_minimo/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AlejandroRM-DEV%2FCompilador_C_minimo/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/AlejandroRM-DEV","download_url":"https://codeload.github.com/AlejandroRM-DEV/Compilador_C_minimo/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AlejandroRM-DEV%2FCompilador_C_minimo/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":266416987,"owners_count":23925299,"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","status":"online","status_checked_at":"2025-07-22T02:00:09.085Z","response_time":66,"last_error":null,"robots_txt_status":null,"robots_txt_updated_at":null,"robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"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":[],"created_at":"2024-10-11T05:43:54.404Z","updated_at":"2025-07-22T03:03:53.556Z","avatar_url":"https://github.com/AlejandroRM-DEV.png","language":"C++","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Compilador C mínimo\nProyecto para la materia Seminario de Solución de Problemas de Traductores de Lenguajes II del ciclo CUCEI-UdeG 2016A.\n\n## Gramática soportada\n* Ciclos\n  - Do...While\n  - For\n  - While\n* Selectivas\n  - If\n* Funciones (máximo 6 parámetros)\n  - Prototipos\n  - Llamadas a función\n  - Tipos\n    - int\n    - void\n* Variables globales\n  - Tipo int\n* Expresiones aritméticas\n  - Suma \n  - Resta\n  - Multiplicación\n  - División\n  - Modulo\n* Expresiones relacionales\n  - Mayor\n  - Mayor igual\n  - Menor\n  - Menor igual\n  - Igual\n  - Diferente\n* Expresiones lógicas\n  - AND\n  - OR\n* Operadores unarios\n  - Decremento\n  - Incremento\n  - Negativo\n  - Not\n  - Positivo\n* Operadores posfijos\n  - Decremento\n  - Incremento\n\n## Fases\n* Análisis léxico: \nEn esta etapa se realiza la separación del código fuente en tokens, si existen algún toquen invalido para la gramática soportada el proceso de compilación se detiene y si es posible se determina el error.\n* Análisis sintáctico: \nSe revisa que el código fuente sea sintácticamente correcto y durante la misma revisión se va creando el árbol sintáctico, si existe algún error el proceso de compilación se detiene y si es posible se determina el error. \n* Análisis semántico: \nSe utiliza el árbol sintáctico para revisar que es semánticamente correcto, por ejemplo, las variables estén declaradas y su alcance sea válido, los parámetros de llamadas a funciones sean los correctos, las expresiones sean válidas: no utilizar void (variable o función) en una operación aritmética, etcétera.\n* Generación de código: \nSe genera el código ensamblador con la sintaxis de AT\u0026T.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Falejandrorm-dev%2Fcompilador_c_minimo","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Falejandrorm-dev%2Fcompilador_c_minimo","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Falejandrorm-dev%2Fcompilador_c_minimo/lists"}