You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
FEYZ is a programming language designed with Turkish keywords, allowing Turkish speakers to code in their native language while learning programming concepts.
Features
Turkish keywords for better accessibility
Dynamic variable declaration
Type casting support
Mathematical operations
Comparison and logical operators
Conditional statements (if-else)
Loops
Functions
Block structure with curly braces
Optional semicolons
Building
make
Usage
# To run a FEYZ program:
./feyz program.feyz
Examples
Check the ornekler/ directory for example FEYZ programs.
Data Types
Numbers (integers and floating-point)
Text (string)
Boolean (true/false)
Lists/Arrays
Implementation Status & Roadmap
Core Features
Feature
Status
Description
Variable declaration and assignment
✅ Available
Supported through AssignmentNode class and Environment class define/assign methods
Mathematical operations
✅ Available
Supported through BinaryOpNode class and Value class operator methods (+, -, *, /, %)
Comparison operators
✅ Available
Comparison operators (==, !=, <, >, <=, >=) defined in Value class
Logical operators
✅ Available
VE (and), VEYA (or), DEGIL (not) operators defined in lexer and parser with special handling
Conditional statements (if-else)
✅ Available
Supported through IfNode class and ifStatement method in parser
Loops
✅ Available
Supported through LoopNode class and loopStatement method in parser
Functions
✅ Available
Supported via FunctionNode, UserFunction and NativeFunction classes with recursive function support
Data Types
Type
Status
Description
Dynamic variable typing
✅ Available
Value class supports different types with no explicit type declaration needed
Type casting
✅ Available
Supported through CastNode class and Value::cast method
Numbers (integer and float)
✅ Available
Supported via NumberNode class and Value::Type::NUMBER
Text (string)
✅ Available
Supported via StringNode class and Value::Type::STRING
Boolean (true/false)
✅ Available
Supported via BooleanNode class and Value::Type::BOOLEAN
Lists/Arrays
❌ Planned
Not yet implemented
Advanced Features
Feature
Status
Description
Error handling
⚠️ Partial
Basic error handling with try-catch blocks in main.cpp, but no in-language try-catch constructs
Modular structure (imports)
❌ Planned
File import mechanism not yet implemented
Object-oriented support
❌ Planned
Class definition and object creation not yet implemented
File operations
❌ Planned
No built-in support for file read/write operations
Standard library
❌ Planned
Standard library for math, string processing etc. not yet implemented
Türkçe
Genel Bakış
FEYZ, Türkçe konuşanlara programlama kavramlarını öğrenirken kendi dillerinde kod yazma imkanı sunan bir programlama dilidir.