Skip to content

This is a theoretical language I came up with that is going to be used as a tool to explore static type analysis and code synthesis techniques along with the possible incorporation of AI.

License

Notifications You must be signed in to change notification settings

JustBobinAround/lisa_lang

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

27 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Lisa Includes Static Analysis

This language is going to be used as a tool to explore static type analysis and code synthesis techniques along with the possible incorporation of AI.

Todo

  • Implement initial Lexer
  • Implement initial Parser
  • Implement initial Interpreter
  • Implement initial type signatures
  • Fix type signatures
  • Implement initial semantic analyzer
  • Refactor Lexer
  • Finish implementing Parser
  • Refactor Parser
  • Finish implementing Interpreter
  • Refactor Interpreter
  • Refine and finish initial spec
  • General Refactor
  • Performance Analysis
  • Implement intermediate pre-processor
  • Implement standard library and external lib binding aids
  • Bootstrap glibc if possible

Change Log

  • 2024-08-16 21:00: Added to type checking system. I think I need to change as and pass_to function calls to keywords so that users can overload their operation.
  • 2024-08-10 23:32: Finished most of parser. Will be starting intermediate analyzer tomorrow.
  • 2024-07-29 20:38: Added initial engine boilerplate
  • 2024-07-29 20:18: Finished Most of Expression AST part
  • 2024-07-29 19:21: Updated Assignment expressions: Assignment methods now have access to the prior express within their internal data structure. CODE
        TypeA: int;
        TypeB: TypeA;
        TypeC: TypeB;
        TypeD: TypeA;
        TypeE: TypeD;
        |TypeE -> uint| {
            0.as(test);
            '1'.as(var_b);
        }.test(None)
         .as(test)
         .as_shared(asdf);

0.as(test);

AST DATA

Assignment {
    prior_expr: Int(
        0,
    ),
    name: "test",
},
  • 2024-07-29 17:39: Implemented most of parser. Ran into issue with after attempting to add operators to expression parsing.

About

This is a theoretical language I came up with that is going to be used as a tool to explore static type analysis and code synthesis techniques along with the possible incorporation of AI.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages