TODO List

M7 Script

  • Finish AST cleanup for M7 Script
  • Finish porting the original M7 interpreter and make it compatible with new software
  • Complete missing data types and constructs
  • Ultimate goal: Inline compiler with bytecode generation

JSON Features

  • Add pragmas to JSON files for parsing options
  • Implement include directive to reference other files
  • Add string interpolation support for `` strings

General Optimization

  • Optimize performance (currently slow due to PHP's copy-on-write behavior and passing structs by value instead of reference)
  • Consider replacing grammar tables and string comparisons with a more efficient structure or library-based approach
  • Optimization is not yet a priority, as the tool is intended to be general-purpose
  • Reduce class instantiations to make future C porting easier

Parser Improvements

  • Improve descent parser structure for better error reporting

Tokenization

  • Clean up and refactor tokenization (currently messy, built quickly)
  • Add line numbers to tokenization for improved error reporting

General Tasks

  • Finalize interpreter stability
  • Improve output consistency
  • Expand unit tests for better coverage

Feature Development

  • Implement semantic analysis stage
  • Add extended JSON parsing support
  • Plan future concurrency support

Documentation

  • Review and refine README for clarity
  • Add detailed examples for command-line options
  • Document error handling and debugging strategies

Compatibility & Performance

  • Ensure continued compatibility with PHP 5.45+
  • Optimize performance for large input files

Community & Contribution

  • Set up contribution guidelines
  • Establish testing framework best practices
  • Define issue reporting and bug tracking workflow