This project, `femboy-coding-language`, is located at the root directory `/home/k1tty/dev/gemini-cli/femboy-coding-language`.
-`femboy-terminoligy.txt`: A text file containing the custom keywords and their meanings used in Femcode.
-`femcode/`: This is the main project directory for the Femcode interpreter.
-`femcode/femterpreter`: A shell script located in the `femcode/` directory that acts as a wrapper to run compiled Femcode programs. It executes the compiled Linux executable (`femcode/dist/femcode_linux`).
-`femcode/src/`: Contains the core source code for the Femcode interpreter.
-`femcode/src/lexer.py`: Responsible for lexical analysis, breaking down the source code into tokens.
-`femcode/src/parser.py`: Responsible for syntactic analysis, building an Abstract Syntax Tree (AST) from the tokens.
-`femcode/src/interpreter.py`: Responsible for semantic analysis and execution of the AST.
-`femcode/src/main.py`: The entry point for the interpreter, handling file input and orchestrating the lexing, parsing, and interpretation process.
-`femcode/docs/`: Contains documentation for the Femcode language.
-`femcode/docs/README.md`: Comprehensive documentation of the Femcode language, including syntax, features, and usage instructions.
-`femcode/examples/`: Contains example Femcode programs demonstrating various language features.
-`femcode/build/`: Directory created by PyInstaller during the build process, containing intermediate build files.
-`femcode/dist/`: Directory created by PyInstaller, containing the compiled standalone executables.
-`femcode/dist/femcode_linux`: The compiled Linux executable of the Femcode interpreter.
-`femcode/venv/`: A Python virtual environment used for managing project dependencies (e.g., PyInstaller).
- **Description:** Created a standalone executable wrapper script to run Femcode programs directly from the command line, simplifying execution and removing the need to specify `python3 main.py`.
- **Files Modified:**
-`femcode/femterpreter` (new file)
-`femcode/src/main.py`
### 6. Enhanced Data Types
#### Floating-Point Numbers
- **Description:** Extended numerical support to include decimal values, allowing for more precise calculations.
- **Files Modified:**
-`femcode/src/lexer.py`
-`femcode/src/parser.py`
#### Null/None Type
- **Description:** Introduced a specific keyword to represent the absence of a value.
- **Keywords/Syntax:** `Ghosted`
- **Files Modified:**
-`femcode/src/lexer.py`
-`femcode/src/parser.py`
### 7. Advanced Control Flow
#### `for` Loops
- **Description:** Implemented iteration over sequences (lists and strings), enabling more flexible looping constructs.
- **Description:** Added shorthand operators for common arithmetic assignments, improving code conciseness.
- **Keywords/Syntax:** `+=`, `-=`, `*=`, `/=`
- **Files Modified:**
-`femcode/src/lexer.py`
-`femcode/src/parser.py`
-`femcode/src/interpreter.py`
-`femcode/examples/syntactic_sugar.fem`
#### Increment/Decrement Operators
- **Description:** Introduced operators for easily increasing or decreasing numerical variables by one.
- **Keywords/Syntax:** `++`, `--`
- **Files Modified:**
-`femcode/src/lexer.py`
-`femcode/src/parser.py`
-`femcode/src/interpreter.py`
-`femcode/examples/syntactic_sugar.fem`
### 10. Documentation Updates
- **Description:** Continuously updated the `README.md` documentation to accurately reflect all new features, syntax, and usage instructions, including the `femterpreter` script.