Skip to content

Latest commit

 

History

History
185 lines (182 loc) · 8.49 KB

File metadata and controls

185 lines (182 loc) · 8.49 KB

Project Roadmap & TODOs

Core Components

  • Implement AST Parser (wraps ast module)
  • Implement Type Analyzer (integrates mypy)
  • Implement Translator (AST NodeVisitor)
  • Implement Code Generator (Vlang emission)

Language Features

  • Basic types (int, float, bool, str)
  • Control flow (if, for, while)
  • Function definitions and calls
  • Class definitions and methods
  • List comprehensions
  • Exception handling (try/except)
  • Module imports and standard library mapping
  • Support for f-strings
  • Support for dictionaries
  • Support for tuples
  • Support for decorators
  • Support for context managers (with statement)
  • Support for lambda expressions
  • Support for async/await (concurrency)
  • Support for generators (yield)
  • Support for class inheritance and method overriding
  • Support for operator overloading (add, etc.)
  • Support for structural pattern matching (match/case)
  • Support for type aliases
  • Support for global/nonlocal keywords
  • Support for assert statements
  • Support for set data structure
  • Support for isinstance and type checks
  • Support for del statement
  • Support for slice notation (list[1:3])
  • Support for walrus operator (:=)
  • Support for main block
  • Support for hasattr, getattr, setattr
  • Support for enumerate
  • Support for zip
  • Support for map and filter
  • Support for any and all
  • Support for reversed and sorted
  • Support for range() with step argument
  • Support for print with end and sep arguments
  • Support for input() function
  • Support for open() and file I/O context managers
  • Support for json module mapping
  • Support for math module mapping
  • Support for random module mapping
  • Support for time and datetime module mapping
  • Support for os and sys module mapping
  • Support for re module mapping
  • Support for argparse module mapping
  • Support for logging module mapping
  • Support for collections module mapping (defaultdict, Counter)
  • Support for itertools module mapping
  • Support for functools module mapping
  • Support for threading and multiprocessing module mapping
  • Support for socket module mapping
  • Support for http.client and urllib module mapping
  • Support for csv module mapping
  • Support for sqlite3 module mapping
  • Support for pathlib module mapping
  • Support for shutil module mapping
  • Support for tempfile module mapping
  • Support for unittest module mapping
  • Support for subprocess module mapping
  • Support for platform module mapping
  • Support for hashlib module mapping
  • Support for uuid module mapping
  • Support for base64 module mapping
  • Support for urllib.parse module mapping
  • Support for struct module mapping
  • Support for array module mapping
  • Support for copy module mapping
  • Support for pickle module mapping
  • Support for zlib/gzip module mapping
  • Support for decimal module mapping
  • Support for fractions module mapping
  • Support for statistics module mapping
  • Support for contextlib module mapping
  • Support for typing module mapping
  • Support for star arguments in function calls (*args)
  • Support for double star arguments in function calls (**kwargs)
  • Support for variadic arguments in definitions (*args)
  • Support for keyword arguments in definitions (**kwargs)
  • Support for keyword-only arguments (*, arg)
  • Support for positional-only arguments (arg, /)
  • Support for destructuring assignment (a, *b = l)
  • Support for chained comparisons (a < b < c)
  • Support for dictionary comprehensions
  • Support for set comprehensions
  • Support for generator expressions (independent)
  • Support for complex numbers
  • Support for matrix multiplication operator (@)
  • Support for bytes and bytearray literals
  • Implement Import Topology Analyzer (Dependency Graph)
  • Analyze dependencies to identify unsupported libraries
  • Support for reproducing module structure (directories/files)
  • Support for 'yield from' syntax (generator delegation)
  • Support for 'async for' loops
  • Support for 'async with' context managers
  • Support for Union types syntax (X | Y) (Python 3.10+)
  • Support for complex structural pattern matching (class patterns)
  • Support for legacy string formatting (%) operator
  • Support for raw string literals (r"...")
  • Support for variable annotations without assignment (x: int)
  • Support for generic type alias syntax (type T = ...) (Python 3.12+)
  • Support for f-string debug expressions (f"{x=}")
  • Support for multiple context managers in single 'with' statement
  • Support for slice assignment (l[x:y] = [1, 2])
  • Support for 'match' statement guard clauses
  • Support for nested classes
  • Support for underscores in numeric literals (e.g. 1_000)
  • Support for 'del' on slices (del l[x:y])
  • Support for chained assignment (a = b = c)
  • Support for 'else' clause in loops (for/else, while/else)
  • Support for 'else' and 'finally' clauses in try/except blocks
  • Support for 'raise from' syntax
  • Support for no-argument super() calls
  • Support for * unpacking in list/tuple/set literals
  • Support for ** unpacking in dict literals
  • Support for relative imports (from . import module)
  • Support for docstrings (emit as V comments)
  • Support for decorators with arguments
  • Support for multiple exception types in single 'except' block
  • Support for bi-directional generator methods (send/throw/close)
  • Support for metaclasses (class X(metaclass=M))
  • Support for slots optimization
  • Support for descriptor protocol (get, set, delete)
  • Support for new method (custom instance creation)
  • Support for Ellipsis (...) literal in slicing and stubs
  • Support for postponed type annotation evaluation (from future import annotations)
  • Support for async comprehensions ([x async for x in y])
  • Support for implicit string literal concatenation ("a" "b")
  • Support for augmented matrix multiplication (@=)
  • Support for custom format methods
  • Support for 'match' statement sequence patterns ([x, y, *rest])
  • Support for 'match' statement mapping patterns ({'k': v})
  • Support for 'match' statement OR patterns (A | B)
  • Support for nested f-strings
  • Support for dynamic format specifiers in f-strings (f"{x:{y}}")
  • Support for bytes formatting (b"%s" % b"a")
  • Support for function attributes (func.attr = val)
  • Support for 'continue' in 'finally' block (Python 3.8+)
  • Support for recursive type aliases
  • Support for TypedDict class-based syntax
  • Support for 'match' statement capture patterns (case A() as x)
  • Support for 'match' statement value patterns (case CONST)
  • Support for 'try/except*' (Exception Groups - Python 3.11+)
  • Support for 'init_subclass' hook
  • Support for 'typing.Protocol' (structural subtyping)
  • Support for 'typing.Literal' types
  • Support for 'typing.Final' qualifier
  • Support for 'typing.overload' decorator
  • Support for 'typing.cast' (no-op)
  • Support for 'typing.NewType'
  • Support for 'typing.NoReturn'
  • Support for name mangling (__private attributes)
  • Support for nested destructuring assignment (a, (b, c) = ...)
  • Support for 'match' statement wildcard pattern (case _)
  • Support for 'match' statement class patterns (case Point(x=1))
  • Support for 'typing.TypeVar' (generics definition)
  • Support for 'typing.ClassVar'
  • Support for 'typing.Self' (Python 3.11+)
  • Support for 'typing.Annotated'
  • Support for multiple targets in 'del' statement (del a, b)
  • Support for bitwise operators (&, |, ^, ~, <<, >>)
  • Support for conditional expressions (x if y else z)
  • Support for 'dataclasses' module (transform to V structs)
  • Support for 'typing.NamedTuple'
  • Support for 'typing.ParamSpec'
  • Support for 'typing.TypeGuard'
  • Support for 'typing.Required' and 'typing.NotRequired'
  • Support for 'typing.Unpack'
  • Support for 'enum.Flag' and 'enum.auto()'
  • Support for 'functools.partial' translation
  • Support for 'functools.singledispatch'
  • Support for 'PEP 747: TypeForm[T]' (mapped to Any)

Infrastructure & Tooling

  • Set up comprehensive test suite (pytest)
  • CLI Interface polish
  • Automated V compilation check for transpiler output
  • Documentation and Usage Examples