eplang 7.0.0__py3-none-any.whl
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.
- epl/.ai_config.json +5 -0
- epl/__init__.py +62 -0
- epl/__main__.py +11 -0
- epl/ai.py +842 -0
- epl/ast_nodes.py +843 -0
- epl/async_io.py +275 -0
- epl/block_editor.py +734 -0
- epl/bytecode_cache.py +116 -0
- epl/ci_gen.py +431 -0
- epl/cli.py +1517 -0
- epl/compiler.py +2593 -0
- epl/concurrency.py +428 -0
- epl/concurrency_real.py +730 -0
- epl/copilot.py +941 -0
- epl/database.py +896 -0
- epl/database_real.py +848 -0
- epl/debugger.py +645 -0
- epl/deploy.py +2129 -0
- epl/desktop.py +966 -0
- epl/doc_linter.py +1196 -0
- epl/environment.py +150 -0
- epl/errors.py +482 -0
- epl/ffi.py +305 -0
- epl/formatter.py +313 -0
- epl/github_tools.py +77 -0
- epl/gui.py +360 -0
- epl/hot_reload.py +208 -0
- epl/html_gen.py +267 -0
- epl/interpreter.py +3242 -0
- epl/ios_gen.py +909 -0
- epl/js_transpiler.py +851 -0
- epl/kotlin_gen.py +2711 -0
- epl/lexer.py +467 -0
- epl/lsp_server.py +1139 -0
- epl/micropython_transpiler.py +501 -0
- epl/models/Modelfile +999 -0
- epl/networking.py +601 -0
- epl/notebook.py +634 -0
- epl/official_packages/epl-db/README.md +29 -0
- epl/official_packages/epl-db/epl.toml +9 -0
- epl/official_packages/epl-db/examples/basic.epl +7 -0
- epl/official_packages/epl-db/src/main.epl +49 -0
- epl/official_packages/epl-test/README.md +30 -0
- epl/official_packages/epl-test/epl.toml +9 -0
- epl/official_packages/epl-test/examples/basic.epl +7 -0
- epl/official_packages/epl-test/src/main.epl +60 -0
- epl/official_packages/epl-web/README.md +30 -0
- epl/official_packages/epl-web/epl.toml +9 -0
- epl/official_packages/epl-web/examples/basic.epl +10 -0
- epl/official_packages/epl-web/src/main.epl +87 -0
- epl/package_index.py +876 -0
- epl/package_manager.py +5251 -0
- epl/packager.py +772 -0
- epl/parser.py +2972 -0
- epl/playground.py +749 -0
- epl/profiler.py +495 -0
- epl/publisher.py +523 -0
- epl/python_transpiler.py +732 -0
- epl/registry.json +285 -0
- epl/registry.py +675 -0
- epl/registry_server.py +536 -0
- epl/resolver.py +588 -0
- epl/runtime.c +2319 -0
- epl/site_generator.py +1043 -0
- epl/stdlib/api.epl +41 -0
- epl/stdlib/auth.epl +53 -0
- epl/stdlib/collections.epl +189 -0
- epl/stdlib/crypto.epl +47 -0
- epl/stdlib/datetime.epl +85 -0
- epl/stdlib/encoding.epl +49 -0
- epl/stdlib/functional.epl +86 -0
- epl/stdlib/html.epl +45 -0
- epl/stdlib/http.epl +62 -0
- epl/stdlib/io.epl +71 -0
- epl/stdlib/json.epl +26 -0
- epl/stdlib/math.epl +168 -0
- epl/stdlib/net.epl +75 -0
- epl/stdlib/os.epl +70 -0
- epl/stdlib/regex.epl +38 -0
- epl/stdlib/registry.json +90 -0
- epl/stdlib/sql.epl +66 -0
- epl/stdlib/string.epl +121 -0
- epl/stdlib/template.epl +29 -0
- epl/stdlib/testing.epl +104 -0
- epl/stdlib/web.epl +139 -0
- epl/stdlib/websocket.epl +57 -0
- epl/stdlib.py +9482 -0
- epl/store_backends.py +538 -0
- epl/templates/android/gradle/wrapper/gradle-wrapper.jar +0 -0
- epl/templates/android/gradlew +248 -0
- epl/templates/android/gradlew.bat +92 -0
- epl/test_framework.py +748 -0
- epl/tokens.py +499 -0
- epl/type_checker.py +679 -0
- epl/type_system.py +867 -0
- epl/vm.py +3046 -0
- epl/wasm_web.py +1248 -0
- epl/web.py +2993 -0
- epl/workspace.py +433 -0
- epl/wsgi.py +566 -0
- eplang-7.0.0.dist-info/METADATA +1569 -0
- eplang-7.0.0.dist-info/RECORD +107 -0
- eplang-7.0.0.dist-info/WHEEL +5 -0
- eplang-7.0.0.dist-info/entry_points.txt +2 -0
- eplang-7.0.0.dist-info/licenses/LICENSE +21 -0
- eplang-7.0.0.dist-info/top_level.txt +3 -0
- main.py +2647 -0
epl/.ai_config.json
ADDED
epl/__init__.py
ADDED
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
"""
|
|
2
|
+
EPL - English Programming Language v7.0
|
|
3
|
+
A production-ready independent programming language with English syntax.
|
|
4
|
+
|
|
5
|
+
Phase 6: Mobile & Desktop (Build Apps with UIs)
|
|
6
|
+
- 6a Desktop GUI: Compose Multiplatform Desktop apps with native packaging (MSI/DMG/DEB/RPM)
|
|
7
|
+
- 6b Android: Enhanced Jetpack Compose + Views, Room DB, Retrofit, Navigation, APK build
|
|
8
|
+
- 6c Web Apps: Browser-ready SPAs via JS transpilation, WASM+JS glue, Kotlin/JS, PWA support
|
|
9
|
+
|
|
10
|
+
Targets: Bytecode VM (default), Interpreter, LLVM Native, JavaScript, Node.js,
|
|
11
|
+
Kotlin/Android, MicroPython/IoT, Desktop (Compose), Web (JS/WASM/Kotlin-JS)
|
|
12
|
+
Features: Web Framework, GUI, Package Manager, ORM, Debugger, LSP, Testing,
|
|
13
|
+
AI Assistant, C FFI, Desktop Apps, Mobile Apps, Web SPAs
|
|
14
|
+
"""
|
|
15
|
+
|
|
16
|
+
from __future__ import annotations
|
|
17
|
+
|
|
18
|
+
from importlib import import_module
|
|
19
|
+
from typing import TYPE_CHECKING, Any
|
|
20
|
+
|
|
21
|
+
__version__ = "7.0.0"
|
|
22
|
+
__author__ = "EPL Team"
|
|
23
|
+
|
|
24
|
+
if TYPE_CHECKING:
|
|
25
|
+
from epl.environment import Environment
|
|
26
|
+
from epl.errors import EPLError
|
|
27
|
+
from epl.interpreter import Interpreter
|
|
28
|
+
from epl.lexer import Lexer
|
|
29
|
+
from epl.parser import Parser
|
|
30
|
+
|
|
31
|
+
_LAZY_EXPORTS = {
|
|
32
|
+
"Lexer": ("epl.lexer", "Lexer"),
|
|
33
|
+
"Parser": ("epl.parser", "Parser"),
|
|
34
|
+
"Interpreter": ("epl.interpreter", "Interpreter"),
|
|
35
|
+
"Environment": ("epl.environment", "Environment"),
|
|
36
|
+
"EPLError": ("epl.errors", "EPLError"),
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
__all__ = [
|
|
40
|
+
"__version__",
|
|
41
|
+
"__author__",
|
|
42
|
+
"Lexer",
|
|
43
|
+
"Parser",
|
|
44
|
+
"Interpreter",
|
|
45
|
+
"Environment",
|
|
46
|
+
"EPLError",
|
|
47
|
+
]
|
|
48
|
+
|
|
49
|
+
|
|
50
|
+
def __getattr__(name: str) -> Any:
|
|
51
|
+
"""Keep package import lightweight while preserving the public API."""
|
|
52
|
+
try:
|
|
53
|
+
module_name, attr_name = _LAZY_EXPORTS[name]
|
|
54
|
+
except KeyError as exc:
|
|
55
|
+
raise AttributeError(f"module 'epl' has no attribute {name!r}") from exc
|
|
56
|
+
value = getattr(import_module(module_name), attr_name)
|
|
57
|
+
globals()[name] = value
|
|
58
|
+
return value
|
|
59
|
+
|
|
60
|
+
|
|
61
|
+
def __dir__() -> list[str]:
|
|
62
|
+
return sorted(set(globals()) | set(_LAZY_EXPORTS))
|
epl/__main__.py
ADDED
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
"""Allow running EPL as `python -m epl <file.epl>` or `epl <file.epl>`."""
|
|
2
|
+
import sys
|
|
3
|
+
import os
|
|
4
|
+
|
|
5
|
+
# Ensure project root is on path
|
|
6
|
+
sys.path.insert(0, os.path.dirname(os.path.dirname(os.path.abspath(__file__))))
|
|
7
|
+
|
|
8
|
+
from epl.cli import main
|
|
9
|
+
|
|
10
|
+
if __name__ == "__main__":
|
|
11
|
+
main()
|