Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

100 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

HscriptInsanity

Tip

This is my first time messing with / writing code this complex so I apologize in advance for any bad code!! (feel free to open a pull request if you can improve this project)
This project is also still a heavy work in progress... see the TO-DO for all implemented / missing features!

Experimental fork of Hscript (Parse and evaluate Haxe expressions dynamically).

README content has been moved to the wiki. Make sure to take a look!

TO-DO

compiled

  • abstracts

    • static fields
    • instance fields
    • cast from / to types
    • overload operators (@:op)
  • enum abstracts

    • static fields
    • constructors
  • enums

    • constructors
    • constructor arguments
  • typedefs

    • type alias import
    • anonymous structure
  • module level fields

    • import

scripted

  • types

    • classes
      • extends
        • Nothing (or scripted class)
        • Real1 classes
      • implements*
        • Nothing (or scripted interface)
        • Real1 interfaces
      • fields
        • property getters & setters
          • accessor error checking in modules
        • scripted toString
        • iterables and iterators
      • abstract class
    • enums
    • typedefs (type alias only)
    • module level fields
    • interfaces*
      • extends
        • Nothing (or scripted interface)
        • Real1 interfaces
      • fields
        • property getters & setters
        • dynamic functions
        • finals
    • abstracts
      • abstract enum
      • underlying type
  • general

    • fix compile errors in HashLink (for now)
    • fix module exception call stack (can merge?)
    • abstract type fields (currently untested)

other

  • import keyword
    • module level fields
  • using keyword
    • explicit type checking?
  • switch keyword
    • complex pattern matching
      • capture variables
      • extractors
      • enum
      • array
      • struct
      • guard conditions
      • multiple values (sorta)
  • Printer class
    • fix printed expressions with escape characters
    • module declaration to string ?
  • Checker class
    • needs urgent updates (lol)

So why is it called HscriptInsanity

It represents my dwindling mental state as I figure how to modify this library!!

Footnotes

  1. "Real" refers to classes generated by the Haxe compiler (i.e., non scripted classes) 2 3

About

Parser and interpreter for Haxe expressions... insanity?

Resources

Stars

19 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages