How nishok-12/aram works
Purpose and Entry Point
Aram is a Python implementation of a Tamil-syntax programming language, including its lexer, parser, interpreter, built-in library, and desktop IDE. The intended current entry point is Main_code/ARAM(GUI_Version_8.2).py; a packaged Windows executable is also present at Main_code/Aram.exe.
Desktop IDE Layer
The GUI is the user-facing boundary: it accepts source code, initiates language processing, and presents execution output or errors. The project retains an evolutionary sequence of IDE implementations, rather than a single stable GUI module.
• Main_code/ARAM(GUI_Version_8.2).py
• Main_code/ARAM(GUI_Version_7.3).py
• Main_code/ARAM(GUI_Version_1).py
The material GUI runtime is Python with Tkinter/GUI components, not a web stack.
Language Front End: Lexing
Raw Aram source text first crosses into the compiler/interpreter pipeline through lexical analysis. The lexer recognizes the language’s Tamil-oriented syntax and produces tokens for parsing.
• Main_code/AramLexer.py
This is the boundary between free-form editor text and structured language input.
Language Front End: Parsing
The parser consumes lexer tokens and constructs a structured program representation/abstract syntax tree suitable for execution. It is the syntax-validation and program-shaping stage between tokenization and evaluation.
• Main_code/AramParser.py
Primary control flow is: GUI or import caller → lexer → parser → interpreter.
Execution Engine
The interpreter executes parsed Aram program logic. It is the central runtime boundary where language structures, values, control flow, and user programs are evaluated.
• Main_code/AramInterpreter.py
• Main_code/AramImport.py
AramImport.py likely supports program/module loading across the language runtime, separating imported-source handling from direct execution.
Runtime Services and Shared State
Language-visible standard operations are supplied separately from core evaluation by the built-in library. Shared runtime state and common reporting are centralized rather than duplicated across pipeline stages.
• Main_code/AramBuiltIns.py
• Main_code/globals.py
• Main_code/error.py
AramBuiltIns.py is the extension boundary for standard-library behavior; globals.py is the shared-state boundary; error.py provides centralized error representation/reporting used by language processing and the GUI.
Distribution and Versioning
The repository is source-first Python, with a Windows executable distribution artifact and a version record.
• Main_code/Aram.exe
• Main_code/Versions.txt
There are no indicated cloud services, databases, network APIs, or server infrastructure. Execution is local: a desktop GUI drives an in-process Python interpreter pipeline.
Main entry points: AramInterpreter.py Aram Interpreter · AramLexer.py Aram Lexer · ARAM(GUI_Version_8.2).py GUI v8.2 · error.py Error Reporting
Components 11
Desktop IDE
- GUI v8.2 · Current desktop entry point for editing and running Aram code.
Main_code/ARAM(GUI_Version_8.2).py - Legacy GUIs · Retained earlier IDE implementations.
Main_code/ARAM(GUI_Version_7.3).py
Language Front End
- Aram Lexer · Turns Tamil-syntax source text into tokens.
Main_code/AramLexer.py - Aram Parser · Validates token structure and builds the program representation.
Main_code/AramParser.py
Runtime Services
- Aram Interpreter · Evaluates parsed programs, values, and control flow.
Main_code/AramInterpreter.py - Import Runtime · Loads imported Aram program sources.
Main_code/AramImport.py - Built-in Library · Provides language-visible standard operations.
Main_code/AramBuiltIns.py - Shared State · Centralized shared runtime state.
Main_code/globals.py - Error Reporting · Central error representation and reporting.
Main_code/error.py
Distribution
- Aram.exe · Packaged Windows distribution artifact.
Main_code/Aram.exe - Version Record
Main_code/Versions.txt
Connections 14
- GUI v8.2 → Aram Lexer: source text
- Aram Lexer → Aram Parser: tokens
- Aram Parser → Aram Interpreter: program representation
- Aram Interpreter → Import Runtime: loads imports
- Import Runtime → Aram Lexer: imported source
- Aram Interpreter → Built-in Library: standard operations
- Aram Interpreter → Shared State: reads and updates
- Aram Lexer → Error Reporting: reports failures
- Aram Parser → Error Reporting: reports failures
- Aram Interpreter → Error Reporting: reports failures
- Error Reporting → GUI v8.2: displays errors
- Aram Interpreter → GUI v8.2: execution output
- Aram.exe → GUI v8.2: packages entry point
- Version Record → Aram.exe: release version