Skip to content

Latest commit

 

History

History
executable file
·
144 lines (135 loc) · 4.33 KB

TODO.md

File metadata and controls

executable file
·
144 lines (135 loc) · 4.33 KB

TODO

  • init git

  • get first build

  • get argvs and analyze options and file path

  • init exceptions

  • defnie mahdi help

  • init basic interpreter variables

  • init data defined

  • init virtual memory(vm)

  • init built in functions

  • import main source from stdin

  • reading source file as utf8

  • remove comments and convert utf8 to ascii

  • extract tokens

  • parsing tokens

  • get the other imports from main source file

  • parsing package block

  • parsing function headers

  • parsing function attributes

  • config colors on console for print errors

  • parsing if,elif,loop,... structures

  • manage instruction orders

  • parsing the other instructions

  • test import all files as recursive

  • init inheritance

  • create inheritance data structure

  • calculate number expressions

  • determine type of number like 'i','f','h'

  • convert radix numbers to decimal

  • calculate string expressions

  • calculate boolean expressions

  • organization function parameters (verify,split,simplify)

  • split and analyzing define vars

  • organization package attributes (verify,split,simplify)

  • inheritance packages if needed

  • inheritance package attributes

  • inheritance package methods

  • init runtime global variables (define vars)

  • implement define vars

  • set new var in memory

  • show memory entries

  • boot app from "_ bootup_" function :)

  • init runtime app controller

  • init runtime instruction executor

  • set label for types of instructions

  • init and build core module

  • load core module

  • init module packages functions struct

  • init all core console functions

  • implement console package of core module

  • implement init function call

  • detect function call parameters type

  • implememt call module function call

  • check for function parameters

  • normalize function parameter values

  • call module package methods

  • run "Hello world" program

  • ((:publish MAHDI-BETA version of MAHDI (for linux):))

  • set trust level to 1

  • init config variables

  • manage exceptions

  • delete var in memory

  • igonre duplicate import files,modules,libraries

  • ...

  • start official documentation of mahdi

  • ...

  • preview of mahdi official website

  • ...

  • complete main structure of mahdi

  • ...

  • complete full structure of mahdi

  • ...

  • export executable program

  • init multi threading

  • test mahdi by 20-questions

  • complete mahdi built-in functions

  • complete core module packages

  • complete official docs

  • complete mahdi website

  • optimizing RAM,CPU usage

  • find (0/300) bugs and debug it!

  • check trust level up to 70%

  • ((:publish MAHDI-RC version of MAHDI (for linux):))

  • implement mpm(mahdi program manager) program with mahdi-RC

  • init mahdi libraries and modules repository

  • publish mahdi-RC version for windows

  • support gtk graphics for linux

  • implement a web server with mahdi

  • complete support for windows and linux

  • implement mdg(mahdi documentation generator) program with mahdi-RC

  • find (0/200) bugs and debug it!

  • complete multi threading

  • check trust level up to 90%

  • ((:publish MAHDI-2 version of MAHDI:))

MAHDI Modules

  • core module
    • console package
    • app package
    • os package
  • db module
    • sqlite3 package
    • mysql package
  • archive module
    • zip package
    • tar package
  • crypto module
    • md5 package
    • sha256 package
  • net module
    • html package
    • email package
    • socket package
    • http package
    • smtp package
    • xml package
    • hack package
  • mgl modlue
    • gtk module

MAHDI Libraries

  • utils library
    • math package
    • exception package
    • strings package
    • file package
    • thread package
    • datetime package
    • bit package
    • csv package
    • json package
  • structs module
    • heap package
    • hash package