pcobra 10.0.9__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (492) hide show
  1. pcobra-10.0.9/.env.example +40 -0
  2. pcobra-10.0.9/CHANGELOG.md +143 -0
  3. pcobra-10.0.9/LICENSE +21 -0
  4. pcobra-10.0.9/MANIFEST.in +25 -0
  5. pcobra-10.0.9/Makefile +84 -0
  6. pcobra-10.0.9/PKG-INFO +1254 -0
  7. pcobra-10.0.9/README.md +1171 -0
  8. pcobra-10.0.9/cobra.mod +12 -0
  9. pcobra-10.0.9/cobra.toml +24 -0
  10. pcobra-10.0.9/docs/MANUAL_COBRA.md +484 -0
  11. pcobra-10.0.9/docs/frontend/_autosummary/tests.hello.rst +6 -0
  12. pcobra-10.0.9/docs/frontend/_autosummary/tests.make_all_bytes.rst +6 -0
  13. pcobra-10.0.9/docs/frontend/_autosummary/tests.rst +15 -0
  14. pcobra-10.0.9/docs/frontend/_autosummary/tests.tree_cmp.rst +6 -0
  15. pcobra-10.0.9/docs/frontend/api/modules.rst +7 -0
  16. pcobra-10.0.9/docs/frontend/api/src.cli.commands.rst +61 -0
  17. pcobra-10.0.9/docs/frontend/api/src.cli.rst +29 -0
  18. pcobra-10.0.9/docs/frontend/api/src.core.holobits.rst +45 -0
  19. pcobra-10.0.9/docs/frontend/api/src.core.memoria.rst +29 -0
  20. pcobra-10.0.9/docs/frontend/api/src.core.nativos.archivo.rst +7 -0
  21. pcobra-10.0.9/docs/frontend/api/src.core.nativos.coleccion.rst +7 -0
  22. pcobra-10.0.9/docs/frontend/api/src.core.nativos.numero.rst +7 -0
  23. pcobra-10.0.9/docs/frontend/api/src.core.nativos.red.rst +7 -0
  24. pcobra-10.0.9/docs/frontend/api/src.core.nativos.rst +113 -0
  25. pcobra-10.0.9/docs/frontend/api/src.core.nativos.seguridad.rst +7 -0
  26. pcobra-10.0.9/docs/frontend/api/src.core.nativos.sistema.rst +7 -0
  27. pcobra-10.0.9/docs/frontend/api/src.core.nativos.texto.rst +7 -0
  28. pcobra-10.0.9/docs/frontend/api/src.core.nativos.tiempo.rst +7 -0
  29. pcobra-10.0.9/docs/frontend/api/src.core.rst +81 -0
  30. pcobra-10.0.9/docs/frontend/api/src.core.semantic_validators.rst +37 -0
  31. pcobra-10.0.9/docs/frontend/api/src.core.transpiler.js_nodes.rst +221 -0
  32. pcobra-10.0.9/docs/frontend/api/src.core.transpiler.python_nodes.rst +213 -0
  33. pcobra-10.0.9/docs/frontend/api/src.core.transpiler.rst +46 -0
  34. pcobra-10.0.9/docs/frontend/api/src.rst +20 -0
  35. pcobra-10.0.9/docs/frontend/api/src.tests.rst +301 -0
  36. pcobra-10.0.9/docs/frontend/arquitectura.rst +94 -0
  37. pcobra-10.0.9/docs/frontend/avances.rst +89 -0
  38. pcobra-10.0.9/docs/frontend/backends.rst +64 -0
  39. pcobra-10.0.9/docs/frontend/benchmarking.rst +151 -0
  40. pcobra-10.0.9/docs/frontend/cache.rst +47 -0
  41. pcobra-10.0.9/docs/frontend/caracteristicas.rst +38 -0
  42. pcobra-10.0.9/docs/frontend/cli.rst +291 -0
  43. pcobra-10.0.9/docs/frontend/cobra_lock.rst +23 -0
  44. pcobra-10.0.9/docs/frontend/cobrahub.rst +30 -0
  45. pcobra-10.0.9/docs/frontend/como_contribuir.rst +26 -0
  46. pcobra-10.0.9/docs/frontend/conf.py +65 -0
  47. pcobra-10.0.9/docs/frontend/contenedores.rst +21 -0
  48. pcobra-10.0.9/docs/frontend/design_patterns.rst +100 -0
  49. pcobra-10.0.9/docs/frontend/ejemplos.rst +31 -0
  50. pcobra-10.0.9/docs/frontend/ejemplos_avanzados.rst +142 -0
  51. pcobra-10.0.9/docs/frontend/empaquetar.rst +48 -0
  52. pcobra-10.0.9/docs/frontend/entorno_desarrollo.rst +56 -0
  53. pcobra-10.0.9/docs/frontend/galeria/README.rst +1 -0
  54. pcobra-10.0.9/docs/frontend/index.rst +68 -0
  55. pcobra-10.0.9/docs/frontend/instalacion_pypi.rst +36 -0
  56. pcobra-10.0.9/docs/frontend/jupyter.rst +61 -0
  57. pcobra-10.0.9/docs/frontend/locale/en/LC_MESSAGES/.gitkeep +0 -0
  58. pcobra-10.0.9/docs/frontend/locale/es/LC_MESSAGES/.gitkeep +0 -0
  59. pcobra-10.0.9/docs/frontend/modo_seguro.rst +114 -0
  60. pcobra-10.0.9/docs/frontend/modulos_nativos.rst +121 -0
  61. pcobra-10.0.9/docs/frontend/optimizaciones.rst +26 -0
  62. pcobra-10.0.9/docs/frontend/paquetes.rst +36 -0
  63. pcobra-10.0.9/docs/frontend/plugin_dev.rst +94 -0
  64. pcobra-10.0.9/docs/frontend/plugin_sdk.rst +98 -0
  65. pcobra-10.0.9/docs/frontend/plugins.rst +133 -0
  66. pcobra-10.0.9/docs/frontend/primeros_pasos.rst +53 -0
  67. pcobra-10.0.9/docs/frontend/proximos_pasos.rst +6 -0
  68. pcobra-10.0.9/docs/frontend/qualia.rst +35 -0
  69. pcobra-10.0.9/docs/frontend/recursos_adicionales.rst +9 -0
  70. pcobra-10.0.9/docs/frontend/referencia.rst +49 -0
  71. pcobra-10.0.9/docs/frontend/rfc_plugins.rst +22 -0
  72. pcobra-10.0.9/docs/frontend/sintaxis.rst +112 -0
  73. pcobra-10.0.9/docs/frontend/uml/arquitectura_general.puml +26 -0
  74. pcobra-10.0.9/docs/frontend/uml/class_diagram.gv +13 -0
  75. pcobra-10.0.9/docs/frontend/uml/flow_diagram.gv +4 -0
  76. pcobra-10.0.9/docs/frontend/validador.rst +78 -0
  77. pcobra-10.0.9/notebooks/benchmarks_resultados.ipynb +72 -0
  78. pcobra-10.0.9/notebooks/casos_reales/analisis_datos.ipynb +57 -0
  79. pcobra-10.0.9/notebooks/casos_reales/bioinformatica.ipynb +56 -0
  80. pcobra-10.0.9/notebooks/casos_reales/inteligencia_artificial.ipynb +59 -0
  81. pcobra-10.0.9/notebooks/ejemplo_basico.ipynb +59 -0
  82. pcobra-10.0.9/notebooks/ide_demo.ipynb +46 -0
  83. pcobra-10.0.9/notebooks/playground.ipynb +57 -0
  84. pcobra-10.0.9/pcobra.toml +13 -0
  85. pcobra-10.0.9/pyproject.toml +187 -0
  86. pcobra-10.0.9/scripts/install.sh +57 -0
  87. pcobra-10.0.9/scripts/run.sh +12 -0
  88. pcobra-10.0.9/setup.cfg +4 -0
  89. pcobra-10.0.9/src/pcobra/__init__.py +25 -0
  90. pcobra-10.0.9/src/pcobra/__main__.py +3 -0
  91. pcobra-10.0.9/src/pcobra/cli.py +126 -0
  92. pcobra-10.0.9/src/pcobra/cobra/__init__.py +11 -0
  93. pcobra-10.0.9/src/pcobra/cobra/cli/__init__.py +15 -0
  94. pcobra-10.0.9/src/pcobra/cobra/cli/cli.py +339 -0
  95. pcobra-10.0.9/src/pcobra/cobra/cli/cobrahub_client.py +251 -0
  96. pcobra-10.0.9/src/pcobra/cobra/cli/commands/__init__.py +0 -0
  97. pcobra-10.0.9/src/pcobra/cobra/cli/commands/agix_cmd.py +119 -0
  98. pcobra-10.0.9/src/pcobra/cobra/cli/commands/base.py +51 -0
  99. pcobra-10.0.9/src/pcobra/cobra/cli/commands/bench_cmd.py +292 -0
  100. pcobra-10.0.9/src/pcobra/cobra/cli/commands/bench_transpilers_cmd.py +158 -0
  101. pcobra-10.0.9/src/pcobra/cobra/cli/commands/benchmarks2_cmd.py +199 -0
  102. pcobra-10.0.9/src/pcobra/cobra/cli/commands/benchmarks_cmd.py +100 -0
  103. pcobra-10.0.9/src/pcobra/cobra/cli/commands/benchthreads_cmd.py +220 -0
  104. pcobra-10.0.9/src/pcobra/cobra/cli/commands/cache_cmd.py +58 -0
  105. pcobra-10.0.9/src/pcobra/cobra/cli/commands/compile_cmd.py +229 -0
  106. pcobra-10.0.9/src/pcobra/cobra/cli/commands/container_cmd.py +84 -0
  107. pcobra-10.0.9/src/pcobra/cobra/cli/commands/crear_cmd.py +147 -0
  108. pcobra-10.0.9/src/pcobra/cobra/cli/commands/dependencias_cmd.py +292 -0
  109. pcobra-10.0.9/src/pcobra/cobra/cli/commands/docs_cmd.py +94 -0
  110. pcobra-10.0.9/src/pcobra/cobra/cli/commands/empaquetar_cmd.py +176 -0
  111. pcobra-10.0.9/src/pcobra/cobra/cli/commands/execute_cmd.py +219 -0
  112. pcobra-10.0.9/src/pcobra/cobra/cli/commands/flet_cmd.py +57 -0
  113. pcobra-10.0.9/src/pcobra/cobra/cli/commands/init_cmd.py +86 -0
  114. pcobra-10.0.9/src/pcobra/cobra/cli/commands/interactive_cmd.py +375 -0
  115. pcobra-10.0.9/src/pcobra/cobra/cli/commands/jupyter_cmd.py +94 -0
  116. pcobra-10.0.9/src/pcobra/cobra/cli/commands/modules_cmd.py +378 -0
  117. pcobra-10.0.9/src/pcobra/cobra/cli/commands/package_cmd.py +201 -0
  118. pcobra-10.0.9/src/pcobra/cobra/cli/commands/plugins_cmd.py +118 -0
  119. pcobra-10.0.9/src/pcobra/cobra/cli/commands/profile_cmd.py +194 -0
  120. pcobra-10.0.9/src/pcobra/cobra/cli/commands/qualia_cmd.py +97 -0
  121. pcobra-10.0.9/src/pcobra/cobra/cli/commands/transpilar_inverso_cmd.py +253 -0
  122. pcobra-10.0.9/src/pcobra/cobra/cli/commands/verify_cmd.py +244 -0
  123. pcobra-10.0.9/src/pcobra/cobra/cli/i18n.py +102 -0
  124. pcobra-10.0.9/src/pcobra/cobra/cli/plugin.py +163 -0
  125. pcobra-10.0.9/src/pcobra/cobra/cli/plugin_interface.py +21 -0
  126. pcobra-10.0.9/src/pcobra/cobra/cli/plugin_loader.py +29 -0
  127. pcobra-10.0.9/src/pcobra/cobra/cli/plugin_registry.py +56 -0
  128. pcobra-10.0.9/src/pcobra/cobra/cli/repl/__init__.py +0 -0
  129. pcobra-10.0.9/src/pcobra/cobra/cli/repl/cobra_lexer.py +140 -0
  130. pcobra-10.0.9/src/pcobra/cobra/cli/utils/__init__.py +5 -0
  131. pcobra-10.0.9/src/pcobra/cobra/cli/utils/argument_parser.py +14 -0
  132. pcobra-10.0.9/src/pcobra/cobra/cli/utils/config.py +54 -0
  133. pcobra-10.0.9/src/pcobra/cobra/cli/utils/messages.py +152 -0
  134. pcobra-10.0.9/src/pcobra/cobra/cli/utils/semver.py +50 -0
  135. pcobra-10.0.9/src/pcobra/cobra/cli/utils/validators.py +23 -0
  136. pcobra-10.0.9/src/pcobra/cobra/core/__init__.py +48 -0
  137. pcobra-10.0.9/src/pcobra/cobra/core/ast_nodes.py +8 -0
  138. pcobra-10.0.9/src/pcobra/cobra/core/lark_parser.py +76 -0
  139. pcobra-10.0.9/src/pcobra/cobra/core/lexer.py +671 -0
  140. pcobra-10.0.9/src/pcobra/cobra/core/parser.py +1544 -0
  141. pcobra-10.0.9/src/pcobra/cobra/core/utils.py +95 -0
  142. pcobra-10.0.9/src/pcobra/cobra/macro/__init__.py +63 -0
  143. pcobra-10.0.9/src/pcobra/cobra/semantico/__init__.py +18 -0
  144. pcobra-10.0.9/src/pcobra/cobra/semantico/analizador.py +184 -0
  145. pcobra-10.0.9/src/pcobra/cobra/semantico/cobra_mod_schema.yaml +21 -0
  146. pcobra-10.0.9/src/pcobra/cobra/semantico/mod_validator.py +144 -0
  147. pcobra-10.0.9/src/pcobra/cobra/semantico/tabla.py +128 -0
  148. pcobra-10.0.9/src/pcobra/cobra/transpilers/__init__.py +20 -0
  149. pcobra-10.0.9/src/pcobra/cobra/transpilers/base.py +8 -0
  150. pcobra-10.0.9/src/pcobra/cobra/transpilers/common/__init__.py +17 -0
  151. pcobra-10.0.9/src/pcobra/cobra/transpilers/common/utils.py +92 -0
  152. pcobra-10.0.9/src/pcobra/cobra/transpilers/feature_inspector.py +50 -0
  153. pcobra-10.0.9/src/pcobra/cobra/transpilers/import_helper.py +9 -0
  154. pcobra-10.0.9/src/pcobra/cobra/transpilers/module_map.py +71 -0
  155. pcobra-10.0.9/src/pcobra/cobra/transpilers/reverse/__init__.py +80 -0
  156. pcobra-10.0.9/src/pcobra/cobra/transpilers/reverse/base.py +46 -0
  157. pcobra-10.0.9/src/pcobra/cobra/transpilers/reverse/from_asm.py +48 -0
  158. pcobra-10.0.9/src/pcobra/cobra/transpilers/reverse/from_c.py +161 -0
  159. pcobra-10.0.9/src/pcobra/cobra/transpilers/reverse/from_cobol.py +53 -0
  160. pcobra-10.0.9/src/pcobra/cobra/transpilers/reverse/from_cpp.py +124 -0
  161. pcobra-10.0.9/src/pcobra/cobra/transpilers/reverse/from_fortran.py +101 -0
  162. pcobra-10.0.9/src/pcobra/cobra/transpilers/reverse/from_go.py +36 -0
  163. pcobra-10.0.9/src/pcobra/cobra/transpilers/reverse/from_java.py +130 -0
  164. pcobra-10.0.9/src/pcobra/cobra/transpilers/reverse/from_js.py +237 -0
  165. pcobra-10.0.9/src/pcobra/cobra/transpilers/reverse/from_julia.py +28 -0
  166. pcobra-10.0.9/src/pcobra/cobra/transpilers/reverse/from_kotlin.py +35 -0
  167. pcobra-10.0.9/src/pcobra/cobra/transpilers/reverse/from_latex.py +124 -0
  168. pcobra-10.0.9/src/pcobra/cobra/transpilers/reverse/from_matlab.py +104 -0
  169. pcobra-10.0.9/src/pcobra/cobra/transpilers/reverse/from_mojo.py +53 -0
  170. pcobra-10.0.9/src/pcobra/cobra/transpilers/reverse/from_pascal.py +110 -0
  171. pcobra-10.0.9/src/pcobra/cobra/transpilers/reverse/from_perl.py +104 -0
  172. pcobra-10.0.9/src/pcobra/cobra/transpilers/reverse/from_php.py +29 -0
  173. pcobra-10.0.9/src/pcobra/cobra/transpilers/reverse/from_python.py +318 -0
  174. pcobra-10.0.9/src/pcobra/cobra/transpilers/reverse/from_r.py +24 -0
  175. pcobra-10.0.9/src/pcobra/cobra/transpilers/reverse/from_ruby.py +43 -0
  176. pcobra-10.0.9/src/pcobra/cobra/transpilers/reverse/from_rust.py +50 -0
  177. pcobra-10.0.9/src/pcobra/cobra/transpilers/reverse/from_swift.py +163 -0
  178. pcobra-10.0.9/src/pcobra/cobra/transpilers/reverse/from_visualbasic.py +187 -0
  179. pcobra-10.0.9/src/pcobra/cobra/transpilers/reverse/from_wasm.py +82 -0
  180. pcobra-10.0.9/src/pcobra/cobra/transpilers/reverse/tree_sitter_base.py +297 -0
  181. pcobra-10.0.9/src/pcobra/cobra/transpilers/semantica.py +51 -0
  182. pcobra-10.0.9/src/pcobra/cobra/transpilers/transpiler/__init__.py +3 -0
  183. pcobra-10.0.9/src/pcobra/cobra/transpilers/transpiler/asm_nodes/__init__.py +87 -0
  184. pcobra-10.0.9/src/pcobra/cobra/transpilers/transpiler/asm_nodes/asignacion.py +22 -0
  185. pcobra-10.0.9/src/pcobra/cobra/transpilers/transpiler/asm_nodes/atributo.py +22 -0
  186. pcobra-10.0.9/src/pcobra/cobra/transpilers/transpiler/asm_nodes/bucle_mientras.py +16 -0
  187. pcobra-10.0.9/src/pcobra/cobra/transpilers/transpiler/asm_nodes/clase.py +39 -0
  188. pcobra-10.0.9/src/pcobra/cobra/transpilers/transpiler/asm_nodes/condicional.py +79 -0
  189. pcobra-10.0.9/src/pcobra/cobra/transpilers/transpiler/asm_nodes/continuar.py +17 -0
  190. pcobra-10.0.9/src/pcobra/cobra/transpilers/transpiler/asm_nodes/diccionario.py +25 -0
  191. pcobra-10.0.9/src/pcobra/cobra/transpilers/transpiler/asm_nodes/for_.py +7 -0
  192. pcobra-10.0.9/src/pcobra/cobra/transpilers/transpiler/asm_nodes/funcion.py +12 -0
  193. pcobra-10.0.9/src/pcobra/cobra/transpilers/transpiler/asm_nodes/hilo.py +3 -0
  194. pcobra-10.0.9/src/pcobra/cobra/transpilers/transpiler/asm_nodes/holobit.py +6 -0
  195. pcobra-10.0.9/src/pcobra/cobra/transpilers/transpiler/asm_nodes/identificador.py +2 -0
  196. pcobra-10.0.9/src/pcobra/cobra/transpilers/transpiler/asm_nodes/importar.py +11 -0
  197. pcobra-10.0.9/src/pcobra/cobra/transpilers/transpiler/asm_nodes/imprimir.py +15 -0
  198. pcobra-10.0.9/src/pcobra/cobra/transpilers/transpiler/asm_nodes/instancia.py +3 -0
  199. pcobra-10.0.9/src/pcobra/cobra/transpilers/transpiler/asm_nodes/lista.py +3 -0
  200. pcobra-10.0.9/src/pcobra/cobra/transpilers/transpiler/asm_nodes/llamada_funcion.py +3 -0
  201. pcobra-10.0.9/src/pcobra/cobra/transpilers/transpiler/asm_nodes/llamada_metodo.py +4 -0
  202. pcobra-10.0.9/src/pcobra/cobra/transpilers/transpiler/asm_nodes/metodo.py +8 -0
  203. pcobra-10.0.9/src/pcobra/cobra/transpilers/transpiler/asm_nodes/operacion_binaria.py +2 -0
  204. pcobra-10.0.9/src/pcobra/cobra/transpilers/transpiler/asm_nodes/operacion_unaria.py +2 -0
  205. pcobra-10.0.9/src/pcobra/cobra/transpilers/transpiler/asm_nodes/para.py +7 -0
  206. pcobra-10.0.9/src/pcobra/cobra/transpilers/transpiler/asm_nodes/pasar.py +2 -0
  207. pcobra-10.0.9/src/pcobra/cobra/transpilers/transpiler/asm_nodes/retorno.py +3 -0
  208. pcobra-10.0.9/src/pcobra/cobra/transpilers/transpiler/asm_nodes/romper.py +2 -0
  209. pcobra-10.0.9/src/pcobra/cobra/transpilers/transpiler/asm_nodes/throw.py +3 -0
  210. pcobra-10.0.9/src/pcobra/cobra/transpilers/transpiler/asm_nodes/try_catch.py +14 -0
  211. pcobra-10.0.9/src/pcobra/cobra/transpilers/transpiler/asm_nodes/usar.py +2 -0
  212. pcobra-10.0.9/src/pcobra/cobra/transpilers/transpiler/asm_nodes/valor.py +2 -0
  213. pcobra-10.0.9/src/pcobra/cobra/transpilers/transpiler/cobol_nodes/__init__.py +0 -0
  214. pcobra-10.0.9/src/pcobra/cobra/transpilers/transpiler/cobol_nodes/asignacion.py +5 -0
  215. pcobra-10.0.9/src/pcobra/cobra/transpilers/transpiler/cobol_nodes/funcion.py +8 -0
  216. pcobra-10.0.9/src/pcobra/cobra/transpilers/transpiler/cobol_nodes/imprimir.py +4 -0
  217. pcobra-10.0.9/src/pcobra/cobra/transpilers/transpiler/cobol_nodes/llamada_funcion.py +7 -0
  218. pcobra-10.0.9/src/pcobra/cobra/transpilers/transpiler/cobol_nodes/retorno.py +8 -0
  219. pcobra-10.0.9/src/pcobra/cobra/transpilers/transpiler/cpp_nodes/__init__.py +0 -0
  220. pcobra-10.0.9/src/pcobra/cobra/transpilers/transpiler/cpp_nodes/asignacion.py +8 -0
  221. pcobra-10.0.9/src/pcobra/cobra/transpilers/transpiler/cpp_nodes/bucle_mientras.py +8 -0
  222. pcobra-10.0.9/src/pcobra/cobra/transpilers/transpiler/cpp_nodes/clase.py +13 -0
  223. pcobra-10.0.9/src/pcobra/cobra/transpilers/transpiler/cpp_nodes/condicional.py +18 -0
  224. pcobra-10.0.9/src/pcobra/cobra/transpilers/transpiler/cpp_nodes/continuar.py +2 -0
  225. pcobra-10.0.9/src/pcobra/cobra/transpilers/transpiler/cpp_nodes/funcion.py +19 -0
  226. pcobra-10.0.9/src/pcobra/cobra/transpilers/transpiler/cpp_nodes/holobit.py +6 -0
  227. pcobra-10.0.9/src/pcobra/cobra/transpilers/transpiler/cpp_nodes/llamada_funcion.py +3 -0
  228. pcobra-10.0.9/src/pcobra/cobra/transpilers/transpiler/cpp_nodes/metodo.py +8 -0
  229. pcobra-10.0.9/src/pcobra/cobra/transpilers/transpiler/cpp_nodes/option.py +3 -0
  230. pcobra-10.0.9/src/pcobra/cobra/transpilers/transpiler/cpp_nodes/pasar.py +2 -0
  231. pcobra-10.0.9/src/pcobra/cobra/transpilers/transpiler/cpp_nodes/pattern.py +3 -0
  232. pcobra-10.0.9/src/pcobra/cobra/transpilers/transpiler/cpp_nodes/retorno.py +6 -0
  233. pcobra-10.0.9/src/pcobra/cobra/transpilers/transpiler/cpp_nodes/romper.py +2 -0
  234. pcobra-10.0.9/src/pcobra/cobra/transpilers/transpiler/cpp_nodes/switch.py +21 -0
  235. pcobra-10.0.9/src/pcobra/cobra/transpilers/transpiler/cpp_nodes/yield_.py +3 -0
  236. pcobra-10.0.9/src/pcobra/cobra/transpilers/transpiler/fortran_nodes/__init__.py +0 -0
  237. pcobra-10.0.9/src/pcobra/cobra/transpilers/transpiler/fortran_nodes/asignacion.py +5 -0
  238. pcobra-10.0.9/src/pcobra/cobra/transpilers/transpiler/fortran_nodes/funcion.py +32 -0
  239. pcobra-10.0.9/src/pcobra/cobra/transpilers/transpiler/fortran_nodes/imprimir.py +4 -0
  240. pcobra-10.0.9/src/pcobra/cobra/transpilers/transpiler/fortran_nodes/llamada_funcion.py +4 -0
  241. pcobra-10.0.9/src/pcobra/cobra/transpilers/transpiler/fortran_nodes/retorno.py +13 -0
  242. pcobra-10.0.9/src/pcobra/cobra/transpilers/transpiler/go_nodes/__init__.py +0 -0
  243. pcobra-10.0.9/src/pcobra/cobra/transpilers/transpiler/go_nodes/asignacion.py +6 -0
  244. pcobra-10.0.9/src/pcobra/cobra/transpilers/transpiler/go_nodes/bucle_mientras.py +9 -0
  245. pcobra-10.0.9/src/pcobra/cobra/transpilers/transpiler/go_nodes/clase.py +7 -0
  246. pcobra-10.0.9/src/pcobra/cobra/transpilers/transpiler/go_nodes/condicional.py +17 -0
  247. pcobra-10.0.9/src/pcobra/cobra/transpilers/transpiler/go_nodes/continuar.py +3 -0
  248. pcobra-10.0.9/src/pcobra/cobra/transpilers/transpiler/go_nodes/for_.py +9 -0
  249. pcobra-10.0.9/src/pcobra/cobra/transpilers/transpiler/go_nodes/funcion.py +9 -0
  250. pcobra-10.0.9/src/pcobra/cobra/transpilers/transpiler/go_nodes/imprimir.py +5 -0
  251. pcobra-10.0.9/src/pcobra/cobra/transpilers/transpiler/go_nodes/instancia.py +3 -0
  252. pcobra-10.0.9/src/pcobra/cobra/transpilers/transpiler/go_nodes/llamada_funcion.py +4 -0
  253. pcobra-10.0.9/src/pcobra/cobra/transpilers/transpiler/go_nodes/llamada_metodo.py +5 -0
  254. pcobra-10.0.9/src/pcobra/cobra/transpilers/transpiler/go_nodes/metodo.py +11 -0
  255. pcobra-10.0.9/src/pcobra/cobra/transpilers/transpiler/go_nodes/retorno.py +7 -0
  256. pcobra-10.0.9/src/pcobra/cobra/transpilers/transpiler/go_nodes/romper.py +3 -0
  257. pcobra-10.0.9/src/pcobra/cobra/transpilers/transpiler/java_nodes/__init__.py +0 -0
  258. pcobra-10.0.9/src/pcobra/cobra/transpilers/transpiler/java_nodes/asignacion.py +5 -0
  259. pcobra-10.0.9/src/pcobra/cobra/transpilers/transpiler/java_nodes/bucle_mientras.py +9 -0
  260. pcobra-10.0.9/src/pcobra/cobra/transpilers/transpiler/java_nodes/clase.py +9 -0
  261. pcobra-10.0.9/src/pcobra/cobra/transpilers/transpiler/java_nodes/condicional.py +17 -0
  262. pcobra-10.0.9/src/pcobra/cobra/transpilers/transpiler/java_nodes/continuar.py +3 -0
  263. pcobra-10.0.9/src/pcobra/cobra/transpilers/transpiler/java_nodes/for_.py +9 -0
  264. pcobra-10.0.9/src/pcobra/cobra/transpilers/transpiler/java_nodes/funcion.py +9 -0
  265. pcobra-10.0.9/src/pcobra/cobra/transpilers/transpiler/java_nodes/imprimir.py +4 -0
  266. pcobra-10.0.9/src/pcobra/cobra/transpilers/transpiler/java_nodes/instancia.py +3 -0
  267. pcobra-10.0.9/src/pcobra/cobra/transpilers/transpiler/java_nodes/llamada_funcion.py +4 -0
  268. pcobra-10.0.9/src/pcobra/cobra/transpilers/transpiler/java_nodes/llamada_metodo.py +5 -0
  269. pcobra-10.0.9/src/pcobra/cobra/transpilers/transpiler/java_nodes/metodo.py +9 -0
  270. pcobra-10.0.9/src/pcobra/cobra/transpilers/transpiler/java_nodes/retorno.py +7 -0
  271. pcobra-10.0.9/src/pcobra/cobra/transpilers/transpiler/java_nodes/romper.py +3 -0
  272. pcobra-10.0.9/src/pcobra/cobra/transpilers/transpiler/js_nodes/__init__.py +0 -0
  273. pcobra-10.0.9/src/pcobra/cobra/transpilers/transpiler/js_nodes/asignacion.py +19 -0
  274. pcobra-10.0.9/src/pcobra/cobra/transpilers/transpiler/js_nodes/atributo.py +2 -0
  275. pcobra-10.0.9/src/pcobra/cobra/transpilers/transpiler/js_nodes/bucle_mientras.py +11 -0
  276. pcobra-10.0.9/src/pcobra/cobra/transpilers/transpiler/js_nodes/clase.py +40 -0
  277. pcobra-10.0.9/src/pcobra/cobra/transpilers/transpiler/js_nodes/condicional.py +31 -0
  278. pcobra-10.0.9/src/pcobra/cobra/transpilers/transpiler/js_nodes/continuar.py +2 -0
  279. pcobra-10.0.9/src/pcobra/cobra/transpilers/transpiler/js_nodes/decorador.py +5 -0
  280. pcobra-10.0.9/src/pcobra/cobra/transpilers/transpiler/js_nodes/diccionario.py +7 -0
  281. pcobra-10.0.9/src/pcobra/cobra/transpilers/transpiler/js_nodes/elemento.py +18 -0
  282. pcobra-10.0.9/src/pcobra/cobra/transpilers/transpiler/js_nodes/enum.py +4 -0
  283. pcobra-10.0.9/src/pcobra/cobra/transpilers/transpiler/js_nodes/esperar.py +3 -0
  284. pcobra-10.0.9/src/pcobra/cobra/transpilers/transpiler/js_nodes/exportar.py +6 -0
  285. pcobra-10.0.9/src/pcobra/cobra/transpilers/transpiler/js_nodes/for_.py +11 -0
  286. pcobra-10.0.9/src/pcobra/cobra/transpilers/transpiler/js_nodes/funcion.py +22 -0
  287. pcobra-10.0.9/src/pcobra/cobra/transpilers/transpiler/js_nodes/graficar.py +3 -0
  288. pcobra-10.0.9/src/pcobra/cobra/transpilers/transpiler/js_nodes/hilo.py +3 -0
  289. pcobra-10.0.9/src/pcobra/cobra/transpilers/transpiler/js_nodes/holobit.py +8 -0
  290. pcobra-10.0.9/src/pcobra/cobra/transpilers/transpiler/js_nodes/identificador.py +2 -0
  291. pcobra-10.0.9/src/pcobra/cobra/transpilers/transpiler/js_nodes/importar.py +6 -0
  292. pcobra-10.0.9/src/pcobra/cobra/transpilers/transpiler/js_nodes/imprimir.py +3 -0
  293. pcobra-10.0.9/src/pcobra/cobra/transpilers/transpiler/js_nodes/instancia.py +2 -0
  294. pcobra-10.0.9/src/pcobra/cobra/transpilers/transpiler/js_nodes/lista.py +4 -0
  295. pcobra-10.0.9/src/pcobra/cobra/transpilers/transpiler/js_nodes/llamada_funcion.py +4 -0
  296. pcobra-10.0.9/src/pcobra/cobra/transpilers/transpiler/js_nodes/llamada_metodo.py +4 -0
  297. pcobra-10.0.9/src/pcobra/cobra/transpilers/transpiler/js_nodes/metodo.py +24 -0
  298. pcobra-10.0.9/src/pcobra/cobra/transpilers/transpiler/js_nodes/operacion_binaria.py +2 -0
  299. pcobra-10.0.9/src/pcobra/cobra/transpilers/transpiler/js_nodes/operacion_unaria.py +2 -0
  300. pcobra-10.0.9/src/pcobra/cobra/transpilers/transpiler/js_nodes/option.py +3 -0
  301. pcobra-10.0.9/src/pcobra/cobra/transpilers/transpiler/js_nodes/para.py +10 -0
  302. pcobra-10.0.9/src/pcobra/cobra/transpilers/transpiler/js_nodes/pasar.py +2 -0
  303. pcobra-10.0.9/src/pcobra/cobra/transpilers/transpiler/js_nodes/pattern.py +3 -0
  304. pcobra-10.0.9/src/pcobra/cobra/transpilers/transpiler/js_nodes/proyectar.py +4 -0
  305. pcobra-10.0.9/src/pcobra/cobra/transpilers/transpiler/js_nodes/retorno.py +3 -0
  306. pcobra-10.0.9/src/pcobra/cobra/transpilers/transpiler/js_nodes/romper.py +2 -0
  307. pcobra-10.0.9/src/pcobra/cobra/transpilers/transpiler/js_nodes/switch.py +33 -0
  308. pcobra-10.0.9/src/pcobra/cobra/transpilers/transpiler/js_nodes/throw.py +3 -0
  309. pcobra-10.0.9/src/pcobra/cobra/transpilers/transpiler/js_nodes/transformar.py +6 -0
  310. pcobra-10.0.9/src/pcobra/cobra/transpilers/transpiler/js_nodes/try_catch.py +24 -0
  311. pcobra-10.0.9/src/pcobra/cobra/transpilers/transpiler/js_nodes/valor.py +2 -0
  312. pcobra-10.0.9/src/pcobra/cobra/transpilers/transpiler/js_nodes/yield_.py +3 -0
  313. pcobra-10.0.9/src/pcobra/cobra/transpilers/transpiler/latex_nodes/__init__.py +0 -0
  314. pcobra-10.0.9/src/pcobra/cobra/transpilers/transpiler/latex_nodes/asignacion.py +5 -0
  315. pcobra-10.0.9/src/pcobra/cobra/transpilers/transpiler/latex_nodes/funcion.py +9 -0
  316. pcobra-10.0.9/src/pcobra/cobra/transpilers/transpiler/latex_nodes/imprimir.py +4 -0
  317. pcobra-10.0.9/src/pcobra/cobra/transpilers/transpiler/latex_nodes/llamada_funcion.py +4 -0
  318. pcobra-10.0.9/src/pcobra/cobra/transpilers/transpiler/latex_nodes/retorno.py +6 -0
  319. pcobra-10.0.9/src/pcobra/cobra/transpilers/transpiler/matlab_nodes/__init__.py +0 -0
  320. pcobra-10.0.9/src/pcobra/cobra/transpilers/transpiler/matlab_nodes/asignacion.py +5 -0
  321. pcobra-10.0.9/src/pcobra/cobra/transpilers/transpiler/matlab_nodes/funcion.py +15 -0
  322. pcobra-10.0.9/src/pcobra/cobra/transpilers/transpiler/matlab_nodes/imprimir.py +4 -0
  323. pcobra-10.0.9/src/pcobra/cobra/transpilers/transpiler/matlab_nodes/llamada_funcion.py +4 -0
  324. pcobra-10.0.9/src/pcobra/cobra/transpilers/transpiler/matlab_nodes/retorno.py +6 -0
  325. pcobra-10.0.9/src/pcobra/cobra/transpilers/transpiler/pascal_nodes/__init__.py +0 -0
  326. pcobra-10.0.9/src/pcobra/cobra/transpilers/transpiler/pascal_nodes/asignacion.py +5 -0
  327. pcobra-10.0.9/src/pcobra/cobra/transpilers/transpiler/pascal_nodes/funcion.py +10 -0
  328. pcobra-10.0.9/src/pcobra/cobra/transpilers/transpiler/pascal_nodes/imprimir.py +4 -0
  329. pcobra-10.0.9/src/pcobra/cobra/transpilers/transpiler/pascal_nodes/llamada_funcion.py +4 -0
  330. pcobra-10.0.9/src/pcobra/cobra/transpilers/transpiler/python_nodes/__init__.py +0 -0
  331. pcobra-10.0.9/src/pcobra/cobra/transpilers/transpiler/python_nodes/asignacion.py +5 -0
  332. pcobra-10.0.9/src/pcobra/cobra/transpilers/transpiler/python_nodes/atributo.py +2 -0
  333. pcobra-10.0.9/src/pcobra/cobra/transpilers/transpiler/python_nodes/bucle_mientras.py +6 -0
  334. pcobra-10.0.9/src/pcobra/cobra/transpilers/transpiler/python_nodes/clase.py +17 -0
  335. pcobra-10.0.9/src/pcobra/cobra/transpilers/transpiler/python_nodes/condicional.py +16 -0
  336. pcobra-10.0.9/src/pcobra/cobra/transpilers/transpiler/python_nodes/continuar.py +2 -0
  337. pcobra-10.0.9/src/pcobra/cobra/transpilers/transpiler/python_nodes/decorador.py +3 -0
  338. pcobra-10.0.9/src/pcobra/cobra/transpilers/transpiler/python_nodes/diccionario.py +7 -0
  339. pcobra-10.0.9/src/pcobra/cobra/transpilers/transpiler/python_nodes/enum.py +9 -0
  340. pcobra-10.0.9/src/pcobra/cobra/transpilers/transpiler/python_nodes/esperar.py +4 -0
  341. pcobra-10.0.9/src/pcobra/cobra/transpilers/transpiler/python_nodes/for_.py +8 -0
  342. pcobra-10.0.9/src/pcobra/cobra/transpilers/transpiler/python_nodes/funcion.py +17 -0
  343. pcobra-10.0.9/src/pcobra/cobra/transpilers/transpiler/python_nodes/graficar.py +3 -0
  344. pcobra-10.0.9/src/pcobra/cobra/transpilers/transpiler/python_nodes/hilo.py +7 -0
  345. pcobra-10.0.9/src/pcobra/cobra/transpilers/transpiler/python_nodes/holobit.py +6 -0
  346. pcobra-10.0.9/src/pcobra/cobra/transpilers/transpiler/python_nodes/identificador.py +2 -0
  347. pcobra-10.0.9/src/pcobra/cobra/transpilers/transpiler/python_nodes/importar.py +17 -0
  348. pcobra-10.0.9/src/pcobra/cobra/transpilers/transpiler/python_nodes/imprimir.py +3 -0
  349. pcobra-10.0.9/src/pcobra/cobra/transpilers/transpiler/python_nodes/instancia.py +2 -0
  350. pcobra-10.0.9/src/pcobra/cobra/transpilers/transpiler/python_nodes/lista.py +5 -0
  351. pcobra-10.0.9/src/pcobra/cobra/transpilers/transpiler/python_nodes/llamada_funcion.py +3 -0
  352. pcobra-10.0.9/src/pcobra/cobra/transpilers/transpiler/python_nodes/llamada_metodo.py +4 -0
  353. pcobra-10.0.9/src/pcobra/cobra/transpilers/transpiler/python_nodes/metodo.py +18 -0
  354. pcobra-10.0.9/src/pcobra/cobra/transpilers/transpiler/python_nodes/operacion_binaria.py +2 -0
  355. pcobra-10.0.9/src/pcobra/cobra/transpilers/transpiler/python_nodes/operacion_unaria.py +2 -0
  356. pcobra-10.0.9/src/pcobra/cobra/transpilers/transpiler/python_nodes/option.py +3 -0
  357. pcobra-10.0.9/src/pcobra/cobra/transpilers/transpiler/python_nodes/para.py +8 -0
  358. pcobra-10.0.9/src/pcobra/cobra/transpilers/transpiler/python_nodes/pasar.py +2 -0
  359. pcobra-10.0.9/src/pcobra/cobra/transpilers/transpiler/python_nodes/proyectar.py +4 -0
  360. pcobra-10.0.9/src/pcobra/cobra/transpilers/transpiler/python_nodes/retorno.py +3 -0
  361. pcobra-10.0.9/src/pcobra/cobra/transpilers/transpiler/python_nodes/romper.py +2 -0
  362. pcobra-10.0.9/src/pcobra/cobra/transpilers/transpiler/python_nodes/switch.py +18 -0
  363. pcobra-10.0.9/src/pcobra/cobra/transpilers/transpiler/python_nodes/throw.py +3 -0
  364. pcobra-10.0.9/src/pcobra/cobra/transpilers/transpiler/python_nodes/transformar.py +6 -0
  365. pcobra-10.0.9/src/pcobra/cobra/transpilers/transpiler/python_nodes/try_catch.py +13 -0
  366. pcobra-10.0.9/src/pcobra/cobra/transpilers/transpiler/python_nodes/usar.py +11 -0
  367. pcobra-10.0.9/src/pcobra/cobra/transpilers/transpiler/python_nodes/valor.py +2 -0
  368. pcobra-10.0.9/src/pcobra/cobra/transpilers/transpiler/python_nodes/yield_.py +3 -0
  369. pcobra-10.0.9/src/pcobra/cobra/transpilers/transpiler/rust_nodes/__init__.py +0 -0
  370. pcobra-10.0.9/src/pcobra/cobra/transpilers/transpiler/rust_nodes/asignacion.py +8 -0
  371. pcobra-10.0.9/src/pcobra/cobra/transpilers/transpiler/rust_nodes/bucle_mientras.py +8 -0
  372. pcobra-10.0.9/src/pcobra/cobra/transpilers/transpiler/rust_nodes/clase.py +14 -0
  373. pcobra-10.0.9/src/pcobra/cobra/transpilers/transpiler/rust_nodes/condicional.py +18 -0
  374. pcobra-10.0.9/src/pcobra/cobra/transpilers/transpiler/rust_nodes/continuar.py +2 -0
  375. pcobra-10.0.9/src/pcobra/cobra/transpilers/transpiler/rust_nodes/funcion.py +35 -0
  376. pcobra-10.0.9/src/pcobra/cobra/transpilers/transpiler/rust_nodes/holobit.py +6 -0
  377. pcobra-10.0.9/src/pcobra/cobra/transpilers/transpiler/rust_nodes/llamada_funcion.py +3 -0
  378. pcobra-10.0.9/src/pcobra/cobra/transpilers/transpiler/rust_nodes/metodo.py +11 -0
  379. pcobra-10.0.9/src/pcobra/cobra/transpilers/transpiler/rust_nodes/option.py +6 -0
  380. pcobra-10.0.9/src/pcobra/cobra/transpilers/transpiler/rust_nodes/pasar.py +2 -0
  381. pcobra-10.0.9/src/pcobra/cobra/transpilers/transpiler/rust_nodes/retorno.py +6 -0
  382. pcobra-10.0.9/src/pcobra/cobra/transpilers/transpiler/rust_nodes/romper.py +2 -0
  383. pcobra-10.0.9/src/pcobra/cobra/transpilers/transpiler/rust_nodes/switch.py +24 -0
  384. pcobra-10.0.9/src/pcobra/cobra/transpilers/transpiler/rust_nodes/throw.py +6 -0
  385. pcobra-10.0.9/src/pcobra/cobra/transpilers/transpiler/rust_nodes/try_catch.py +24 -0
  386. pcobra-10.0.9/src/pcobra/cobra/transpilers/transpiler/rust_nodes/yield_.py +3 -0
  387. pcobra-10.0.9/src/pcobra/cobra/transpilers/transpiler/to_asm.py +180 -0
  388. pcobra-10.0.9/src/pcobra/cobra/transpilers/transpiler/to_c.py +159 -0
  389. pcobra-10.0.9/src/pcobra/cobra/transpilers/transpiler/to_cobol.py +96 -0
  390. pcobra-10.0.9/src/pcobra/cobra/transpilers/transpiler/to_cpp.py +218 -0
  391. pcobra-10.0.9/src/pcobra/cobra/transpilers/transpiler/to_fortran.py +90 -0
  392. pcobra-10.0.9/src/pcobra/cobra/transpilers/transpiler/to_go.py +166 -0
  393. pcobra-10.0.9/src/pcobra/cobra/transpilers/transpiler/to_java.py +164 -0
  394. pcobra-10.0.9/src/pcobra/cobra/transpilers/transpiler/to_js.py +335 -0
  395. pcobra-10.0.9/src/pcobra/cobra/transpilers/transpiler/to_julia.py +109 -0
  396. pcobra-10.0.9/src/pcobra/cobra/transpilers/transpiler/to_kotlin.py +115 -0
  397. pcobra-10.0.9/src/pcobra/cobra/transpilers/transpiler/to_latex.py +79 -0
  398. pcobra-10.0.9/src/pcobra/cobra/transpilers/transpiler/to_llvm.py +39 -0
  399. pcobra-10.0.9/src/pcobra/cobra/transpilers/transpiler/to_matlab.py +88 -0
  400. pcobra-10.0.9/src/pcobra/cobra/transpilers/transpiler/to_mojo.py +111 -0
  401. pcobra-10.0.9/src/pcobra/cobra/transpilers/transpiler/to_pascal.py +87 -0
  402. pcobra-10.0.9/src/pcobra/cobra/transpilers/transpiler/to_perl.py +126 -0
  403. pcobra-10.0.9/src/pcobra/cobra/transpilers/transpiler/to_php.py +112 -0
  404. pcobra-10.0.9/src/pcobra/cobra/transpilers/transpiler/to_python.py +437 -0
  405. pcobra-10.0.9/src/pcobra/cobra/transpilers/transpiler/to_r.py +113 -0
  406. pcobra-10.0.9/src/pcobra/cobra/transpilers/transpiler/to_ruby.py +106 -0
  407. pcobra-10.0.9/src/pcobra/cobra/transpilers/transpiler/to_rust.py +202 -0
  408. pcobra-10.0.9/src/pcobra/cobra/transpilers/transpiler/to_swift.py +104 -0
  409. pcobra-10.0.9/src/pcobra/cobra/transpilers/transpiler/to_visualbasic.py +108 -0
  410. pcobra-10.0.9/src/pcobra/cobra/transpilers/transpiler/to_wasm.py +80 -0
  411. pcobra-10.0.9/src/pcobra/cobra/usar_loader.py +170 -0
  412. pcobra-10.0.9/src/pcobra/compiler/__init__.py +2 -0
  413. pcobra-10.0.9/src/pcobra/compiler/llvm_backend.py +64 -0
  414. pcobra-10.0.9/src/pcobra/core/__init__.py +66 -0
  415. pcobra-10.0.9/src/pcobra/core/ast_cache.py +264 -0
  416. pcobra-10.0.9/src/pcobra/core/ast_nodes.py +628 -0
  417. pcobra-10.0.9/src/pcobra/core/cobra_config.py +51 -0
  418. pcobra-10.0.9/src/pcobra/core/ctypes_bridge.py +64 -0
  419. pcobra-10.0.9/src/pcobra/core/holobits/__init__.py +15 -0
  420. pcobra-10.0.9/src/pcobra/core/holobits/graficar.py +23 -0
  421. pcobra-10.0.9/src/pcobra/core/holobits/holobit.py +25 -0
  422. pcobra-10.0.9/src/pcobra/core/holobits/proyection.py +18 -0
  423. pcobra-10.0.9/src/pcobra/core/holobits/transformacion.py +51 -0
  424. pcobra-10.0.9/src/pcobra/core/interpreter.py +750 -0
  425. pcobra-10.0.9/src/pcobra/core/main.py +15 -0
  426. pcobra-10.0.9/src/pcobra/core/memoria/__init__.py +1 -0
  427. pcobra-10.0.9/src/pcobra/core/memoria/estrategia_memoria.py +57 -0
  428. pcobra-10.0.9/src/pcobra/core/memoria/gestor_memoria.py +96 -0
  429. pcobra-10.0.9/src/pcobra/core/nativos/__init__.py +40 -0
  430. pcobra-10.0.9/src/pcobra/core/nativos/estructuras.py +24 -0
  431. pcobra-10.0.9/src/pcobra/core/nativos/io.py +82 -0
  432. pcobra-10.0.9/src/pcobra/core/nativos/matematicas.py +16 -0
  433. pcobra-10.0.9/src/pcobra/core/optimizations/__init__.py +13 -0
  434. pcobra-10.0.9/src/pcobra/core/optimizations/common_subexpr.py +149 -0
  435. pcobra-10.0.9/src/pcobra/core/optimizations/constant_folder.py +130 -0
  436. pcobra-10.0.9/src/pcobra/core/optimizations/dead_code.py +95 -0
  437. pcobra-10.0.9/src/pcobra/core/optimizations/inliner.py +118 -0
  438. pcobra-10.0.9/src/pcobra/core/pcobra_config.py +33 -0
  439. pcobra-10.0.9/src/pcobra/core/performance.py +92 -0
  440. pcobra-10.0.9/src/pcobra/core/pybind_bridge.py +108 -0
  441. pcobra-10.0.9/src/pcobra/core/qualia_bridge.py +132 -0
  442. pcobra-10.0.9/src/pcobra/core/qualia_knowledge.py +63 -0
  443. pcobra-10.0.9/src/pcobra/core/resource_limits.py +161 -0
  444. pcobra-10.0.9/src/pcobra/core/rust_bridge.py +95 -0
  445. pcobra-10.0.9/src/pcobra/core/sandbox.py +331 -0
  446. pcobra-10.0.9/src/pcobra/core/semantic_validator.py +13 -0
  447. pcobra-10.0.9/src/pcobra/core/semantic_validators/__init__.py +55 -0
  448. pcobra-10.0.9/src/pcobra/core/semantic_validators/auditoria.py +43 -0
  449. pcobra-10.0.9/src/pcobra/core/semantic_validators/base.py +26 -0
  450. pcobra-10.0.9/src/pcobra/core/semantic_validators/fs_access.py +33 -0
  451. pcobra-10.0.9/src/pcobra/core/semantic_validators/import_seguro.py +18 -0
  452. pcobra-10.0.9/src/pcobra/core/semantic_validators/primitiva_peligrosa.py +47 -0
  453. pcobra-10.0.9/src/pcobra/core/semantic_validators/reflexion_segura.py +41 -0
  454. pcobra-10.0.9/src/pcobra/core/type_utils.py +48 -0
  455. pcobra-10.0.9/src/pcobra/core/visitor.py +24 -0
  456. pcobra-10.0.9/src/pcobra/corelibs/__init__.py +40 -0
  457. pcobra-10.0.9/src/pcobra/corelibs/archivo.py +26 -0
  458. pcobra-10.0.9/src/pcobra/corelibs/coleccion.py +21 -0
  459. pcobra-10.0.9/src/pcobra/corelibs/numero.py +29 -0
  460. pcobra-10.0.9/src/pcobra/corelibs/red.py +86 -0
  461. pcobra-10.0.9/src/pcobra/corelibs/seguridad.py +20 -0
  462. pcobra-10.0.9/src/pcobra/corelibs/sistema.py +110 -0
  463. pcobra-10.0.9/src/pcobra/corelibs/texto.py +21 -0
  464. pcobra-10.0.9/src/pcobra/corelibs/tiempo.py +19 -0
  465. pcobra-10.0.9/src/pcobra/gui/__init__.py +1 -0
  466. pcobra-10.0.9/src/pcobra/gui/app.py +56 -0
  467. pcobra-10.0.9/src/pcobra/gui/idle.py +77 -0
  468. pcobra-10.0.9/src/pcobra/ia/__init__.py +1 -0
  469. pcobra-10.0.9/src/pcobra/ia/analizador_agix.py +60 -0
  470. pcobra-10.0.9/src/pcobra/jupyter_kernel/__init__.py +184 -0
  471. pcobra-10.0.9/src/pcobra/lsp/__init__.py +1 -0
  472. pcobra-10.0.9/src/pcobra/lsp/cobra_plugin.py +180 -0
  473. pcobra-10.0.9/src/pcobra/lsp/server.py +25 -0
  474. pcobra-10.0.9/src/pcobra/standard_library/__init__.py +29 -0
  475. pcobra-10.0.9/src/pcobra/standard_library/archivo.py +29 -0
  476. pcobra-10.0.9/src/pcobra/standard_library/fecha.py +21 -0
  477. pcobra-10.0.9/src/pcobra/standard_library/lista.py +27 -0
  478. pcobra-10.0.9/src/pcobra/standard_library/logica.py +19 -0
  479. pcobra-10.0.9/src/pcobra/standard_library/util.py +19 -0
  480. pcobra-10.0.9/src/pcobra.egg-info/PKG-INFO +1254 -0
  481. pcobra-10.0.9/src/pcobra.egg-info/SOURCES.txt +490 -0
  482. pcobra-10.0.9/src/pcobra.egg-info/dependency_links.txt +1 -0
  483. pcobra-10.0.9/src/pcobra.egg-info/entry_points.txt +2 -0
  484. pcobra-10.0.9/src/pcobra.egg-info/requires.txt +50 -0
  485. pcobra-10.0.9/src/pcobra.egg-info/top_level.txt +1 -0
  486. pcobra-10.0.9/tests/test_cli.py +25 -0
  487. pcobra-10.0.9/tests/test_ejemplos_io.py +70 -0
  488. pcobra-10.0.9/tests/test_interactive_cmd_no_console.py +63 -0
  489. pcobra-10.0.9/tests/test_lexer.py +27 -0
  490. pcobra-10.0.9/tests/test_lexer_indices.py +37 -0
  491. pcobra-10.0.9/tests/test_parser.py +30 -0
  492. pcobra-10.0.9/tests/test_transpilers.py +40 -0
@@ -0,0 +1,40 @@
1
+ ##############################################
2
+ # 🌐 Configuración general de Cobra
3
+ ##############################################
4
+
5
+ # Idioma de la interfaz: es | en
6
+ COBRA_LANG=es
7
+
8
+ # URL del backend de CobraHub (dejar en blanco si no se usa)
9
+ COBRAHUB_URL=https://cobrahub.example.com/api
10
+
11
+ ##############################################
12
+ # 🧩 Configuración de archivos
13
+ ##############################################
14
+
15
+ # Archivo de mapeo de módulos Cobra
16
+ COBRA_MODULE_MAP=./cobra.mod
17
+
18
+ # Configuración general del lenguaje Cobra
19
+ COBRA_CONFIG=./cobra.toml
20
+
21
+ # Configuración extendida para pCobra
22
+ PCOBRA_CONFIG=./pcobra.toml
23
+ PCOBRA_TOML=./pcobra.toml
24
+
25
+ ##############################################
26
+ # 🧠 Estados y almacenamiento
27
+ ##############################################
28
+
29
+ # Archivo donde guardar el estado de Qualia (AGI)
30
+ QUALIA_STATE_PATH=src/core/qualia_state.json
31
+
32
+ # Carpeta para caché de árboles sintácticos (AST)
33
+ COBRA_AST_CACHE=./cache
34
+
35
+ ##############################################
36
+ # 🧪 Parser (opcional)
37
+ ##############################################
38
+
39
+ # Usar parser alternativo: dejar vacío o usar "lark"
40
+ COBRA_PARSER=
@@ -0,0 +1,143 @@
1
+ ## v10.0.9 - 2025-08-17
2
+ - Ajuste en `SafeUnpickler` para aceptar los módulos `core.ast_nodes` y `cobra.core.ast_nodes`.
3
+ - `corelibs.sistema.ejecutar` ahora exige una lista blanca de comandos
4
+ mediante el parámetro `permitidos` o la variable de entorno
5
+ `COBRA_EJECUTAR_PERMITIDOS`. Invocarlo sin esta configuración produce
6
+ `ValueError` y la lista de la variable de entorno se fija al importar
7
+ el módulo, evitando modificaciones en tiempo de ejecución.
8
+ - Reemplazo del uso de `pickle` por serialización JSON segura en la caché
9
+ de AST y tokens.
10
+
11
+ ## v10.0.8 - Pendiente de liberación
12
+ - Integración de la biblioteca **holobit** para la creación y manipulación de holobits.
13
+ - Pruebas en `tests` que verifican la funcionalidad de holobit.
14
+ - `tests/unit/test_holobit_generation.py` construye holobits de diferentes tamaños y valida la conversión a JSON.
15
+ - `tests/unit/test_benchmark_execution.py` ejecuta los comandos de benchmark y comprueba que los tiempos se mantienen dentro de un rango razonable utilizando `time.perf_counter`.
16
+
17
+ ## v10.0.7 - Pendiente de liberación
18
+ - Nota: versión en desarrollo, sin cambios liberados.
19
+
20
+ ## v10.0.6 - 2025-07-26
21
+ - Actualización de documentación y archivos de configuración.
22
+
23
+ ## v10.0.0 - 2025-07-25
24
+ - Incremento de versión principal a 10.0.0.
25
+ - Actualización de documentación y ejemplos.
26
+
27
+ ## v9.1.0 - 2025-07-16
28
+ - Incremento de versión menor a 9.1.0.
29
+ - Actualización de documentación y ejemplos.
30
+ - Ajustes en el empaquetado y generación de binarios.
31
+
32
+ ## v9.0.0 - 2025-07-13
33
+ - Mejoras de empaquetado que simplifican la distribución.
34
+ - Integración de notebooks de ejemplo en el paquete.
35
+ - Otros ajustes menores.
36
+ - Requisito mínimo de Python actualizado a la versión 3.9.
37
+
38
+ ## v8.0.0 - 2025-07-08
39
+ - Incremento de versión principal a 8.0.0.
40
+ - Documentación y pruebas actualizadas.
41
+
42
+ ## v7.2.0 - 2025-07-06
43
+ - Incremento de versión menor a 7.2.0.
44
+ - Documentación y pruebas actualizadas.
45
+
46
+ ## v7.1.0 - 2025-07-06
47
+ - Se actualiza la versión del proyecto y del kernel de Jupyter.
48
+ - Documentación actualizada con nuevas referencias de versión.
49
+
50
+ ## v7.0.0 - 2025-07-06
51
+ - Se incrementa la versión principal del proyecto.
52
+ - Documentación y pruebas adaptadas a la nueva versión.
53
+
54
+ ## v6.0.0 - 2025-07-04
55
+ - Actualización mayor del lenguaje Cobra y de las herramientas de desarrollo.
56
+ - Documentación reorganizada con nuevos ejemplos.
57
+ - Integración de procesos de lanzamiento automatizados a través de GitHub Actions.
58
+ - Los transpiladores exponen el método `generate_code` y permiten guardar el resultado con `save_file`.
59
+
60
+ ## v5.6.3 - 2025-07-02
61
+ - Ajustes de documentación y versión.
62
+
63
+ ## v5.6.2 - 2025-07-02
64
+ - Actualización de versión a 5.6.2 y ajustes de documentación y pruebas.
65
+
66
+ ## v5.6 - 2025-06-29
67
+ - Paquete actualizado a la versión 5.6.
68
+ - Documentación y kernel reflejan la nueva versión.
69
+ - Prueba de plugins ajustada a "dummy 5.6".
70
+
71
+ ## v5.5 - 2025-06-29
72
+ - Paquete actualizado a la versión 5.5.
73
+ - Documentación y kernel reflejan la nueva versión.
74
+ - Prueba de plugins ajustada a "dummy 5.5".
75
+
76
+ ## v5.4 - 2025-06-29
77
+ - Paquete actualizado a la versión 5.4.
78
+ - Documentación y kernel reflejan la nueva versión.
79
+ - Prueba de plugins ajustada a "dummy 5.4".
80
+
81
+ ## v5.2 - 2025-06-29
82
+ - Paquete actualizado a la versión 5.2.
83
+ - Documentación y kernel reflejan la nueva versión.
84
+ - Prueba de plugins ajustada a "dummy 5.2".
85
+
86
+ ## v5.1 - 2025-06-28
87
+ - Paquete actualizado a la versión 5.1.
88
+ - Documentación y kernel reflejan la nueva versión.
89
+ - Prueba de plugins ajustada a "dummy 5.1".
90
+
91
+ ## v5.0 - 2025-06-28
92
+ - Paquete actualizado a la versión 5.0.
93
+ - Documentación y kernel reflejan la nueva versión.
94
+ - Prueba de plugins ajustada a "dummy 5.0".
95
+
96
+ ## v4.6 - 2025-06-28
97
+ - Paquete actualizado a la versión 4.6.
98
+ - Documentación y kernel reflejan la nueva versión.
99
+ - Prueba de plugins ajustada a "dummy 4.6".
100
+
101
+ ## v4.5 - 2025-06-28
102
+ - Paquete actualizado a la versión 4.5.
103
+ - Documentación y kernel reflejan la nueva versión.
104
+ - Prueba de plugins ajustada a "dummy 4.5".
105
+
106
+ ## v4.4 - 2025-06-28
107
+ - Paquete actualizado a la versión 4.4.
108
+ - Documentación y kernel reflejan la nueva versión.
109
+ - Prueba de plugins ajustada a "dummy 4.4".
110
+
111
+ ## v4.3 - 2025-06-28
112
+ - Paquete actualizado a la versión 4.3.
113
+ - Documentación y kernel reflejan la nueva versión.
114
+ - Prueba de plugins ajustada a "dummy 4.3".
115
+
116
+ ## v3.0 - 2025-06-27
117
+ - Paquete actualizado a la versión 3.0.
118
+ - Documentación y kernel reflejan la nueva versión.
119
+ - Prueba de plugins ajustada a "dummy 3.0".
120
+
121
+ ## v2.2 - 2025-06-27
122
+ - Paquete actualizado a la versión 2.2.
123
+ - Documentación y kernel reflejan la nueva versión.
124
+ - Prueba de plugins ajustada a "dummy 2.2".
125
+
126
+ ## v2.1 - 2025-06-27
127
+ - Actualización del paquete a la versión 2.1.
128
+ - Nuevos comandos `init` y `package`.
129
+ - Incorporación del puente ctypes y del helper de importación de transpiladores.
130
+ - Documentación y kernel actualizados.
131
+
132
+ ## v2.0 - 2025-06-26
133
+ - Actualización de la versión del paquete a 2.0.
134
+ - Documentación y archivos de configuración actualizados a la versión 2.0.
135
+ - El kernel de Jupyter refleja la nueva versión.
136
+
137
+ ## v1.4 - 2025-06-26
138
+ - Publicación en PyPI con metadata completa.
139
+ - Soporte de instalación mediante pipx.
140
+ - Inicio de la internacionalización en la CLI y documentación.
141
+
142
+ ## v1.3 - 2024-06-01
143
+ - Versión inicial migrada al changelog.
pcobra-10.0.9/LICENSE ADDED
@@ -0,0 +1,21 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2024 Adolfo González Hernández
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
@@ -0,0 +1,25 @@
1
+ include LICENSE
2
+ include README.md
3
+ include CHANGELOG.md
4
+ include docs/MANUAL_COBRA.md
5
+ include cobra.mod
6
+ include cobra.toml
7
+ include pcobra.toml
8
+ include pyproject.toml
9
+ include Makefile
10
+ include scripts/install.sh
11
+ include scripts/run.sh
12
+ include .env.example
13
+
14
+ recursive-include src/pcobra *.py
15
+ recursive-include src/pcobra *.toml
16
+ recursive-include src/pcobra *.yaml
17
+ recursive-include src/pcobra *.json
18
+ recursive-include src/pcobra *.ini
19
+ recursive-include src/pcobra *.cfg
20
+ recursive-include src/pcobra *.md
21
+ recursive-include src/pcobra *.txt
22
+ recursive-include src/pcobra *.html
23
+
24
+ recursive-include notebooks *
25
+ recursive-include docs/frontend *
pcobra-10.0.9/Makefile ADDED
@@ -0,0 +1,84 @@
1
+ # ========== VARIABLES CONFIGURABLES ==========
2
+ PYTHON=python
3
+ VENV=.venv
4
+ SRC=src/pcobra
5
+ TESTS=tests
6
+ SPHINXBUILD=sphinx-build
7
+ SPHINXOPTS=
8
+ SOURCEDIR=docs/frontend
9
+ BUILDDIR=docs/build
10
+ GRAMMAR_COV?=30
11
+
12
+ # ========= TAREAS GENÉRICAS ==========
13
+
14
+ help:
15
+ @echo "Comandos disponibles:"
16
+ @echo " make install Instala el entorno en modo desarrollo"
17
+ @echo " make run Ejecuta Cobra usando dotenv"
18
+ @echo " make test Ejecuta tests con pytest y coverage"
19
+ @echo " make coverage Ejecuta coverage y genera reporte HTML"
20
+ @echo " make lint Ejecuta linters: ruff, mypy, bandit"
21
+ @echo " make format Formatea con black + isort"
22
+ @echo " make typecheck Verifica tipos con mypy + pyright"
23
+ @echo " make docker Construye todos los contenedores"
24
+ @echo " make docs Genera documentación Sphinx"
25
+ @echo " make clean Limpia archivos temporales"
26
+ @echo " make secrets Busca secretos con gitleaks"
27
+ @echo " make check Linter + Tests + Typecheck (pre-commit/release)"
28
+ @echo " make publicar-blog FILE=archivo.md Publica una entrada en el blog"
29
+
30
+ install:
31
+ $(PYTHON) -m venv $(VENV)
32
+ . $(VENV)/bin/activate 2>/dev/null || . $(VENV)/Scripts/activate && \
33
+ pip install --upgrade pip && \
34
+ pip install -e .[dev]
35
+
36
+ run:
37
+ $(PYTHON) -m dotenv -f .env run -- $(PYTHON) -m pcobra
38
+
39
+ test:
40
+ $(PYTHON) scripts/grammar_coverage.py --threshold=$(GRAMMAR_COV)
41
+ pytest --cov=$(SRC) $(TESTS) --cov-report=term-missing --cov-fail-under=90
42
+
43
+ coverage:
44
+ coverage run -m pytest
45
+ coverage html
46
+
47
+ lint:
48
+ ruff check $(SRC)
49
+ mypy $(SRC)
50
+ bandit -r $(SRC)
51
+
52
+ format:
53
+ isort $(SRC)
54
+ black $(SRC)
55
+
56
+ typecheck:
57
+ mypy $(SRC)
58
+ @command -v pyright >/dev/null 2>&1 && pyright || echo "ℹ️ pyright no está instalado"
59
+
60
+ secrets:
61
+ gitleaks detect --source . --redact
62
+
63
+ check: lint test typecheck
64
+ @echo "✅ Todo en orden. Código listo para commit o build."
65
+
66
+ docker:
67
+ docker build -t cobra -f docker/Dockerfile .
68
+ docker build -t cobra-cpp -f docker/cpp.Dockerfile .
69
+ docker build -t cobra-js -f docker/js.Dockerfile .
70
+ docker build -t cobra-python -f docker/python.Dockerfile .
71
+ docker build -t cobra-rust -f docker/rust.Dockerfile .
72
+
73
+ docs:
74
+ $(SPHINXBUILD) -M html "$(SOURCEDIR)" "$(BUILDDIR)" $(SPHINXOPTS)
75
+
76
+ publicar-blog:
77
+ bash scripts/publicar_blog.sh $(FILE)
78
+ clean:
79
+ find . -type d -name "__pycache__" -exec rm -rf {} +
80
+ find . -type f -name "*.pyc" -delete
81
+ rm -rf .pytest_cache .mypy_cache .coverage htmlcov \
82
+ $(BUILDDIR) .venv dist build bench_results.json
83
+
84
+ .PHONY: help install run test coverage lint format typecheck secrets docker docs publicar-blog clean check