├── .github └── workflows │ └── ccpp.yml ├── .gitignore ├── .travis.yml ├── LICENSE ├── Makefile ├── Std ├── Collections.strela ├── IO.strela ├── JSON.strela ├── Lang │ ├── Compiler.strela │ └── Compiler │ │ ├── Ast.strela │ │ ├── Lexer.strela │ │ └── Parser.strela ├── Math.strela ├── Math │ └── Lina.strela ├── Net.strela ├── Net │ └── HTTP.strela ├── core.strela ├── csockets.strela └── cstdio.strela ├── docs └── syntax.md ├── examples ├── Client.strela ├── Fib.strela ├── Ray.strela └── Server.strela ├── flame.html ├── includetest.sh ├── install.bat ├── readme.md ├── src ├── Ast │ ├── ArrayLitExpr.h │ ├── ArrayType.cpp │ ├── ArrayType.h │ ├── ArrayTypeExpr.h │ ├── AssignExpr.h │ ├── BinopExpr.h │ ├── BlockStmt.h │ ├── BoolType.h │ ├── CallExpr.h │ ├── CastExpr.h │ ├── ClassDecl.cpp │ ├── ClassDecl.h │ ├── EnumDecl.cpp │ ├── EnumDecl.h │ ├── EnumElement.h │ ├── Expr.h │ ├── ExprStmt.h │ ├── FieldDecl.h │ ├── FloatType.h │ ├── FuncDecl.h │ ├── FuncType.cpp │ ├── FuncType.h │ ├── GenericParam.h │ ├── GenericReificationExpr.h │ ├── IdExpr.h │ ├── IfStmt.h │ ├── ImportStmt.h │ ├── IntType.h │ ├── InterfaceDecl.cpp │ ├── InterfaceDecl.h │ ├── InterfaceFieldDecl.cpp │ ├── InterfaceFieldDecl.h │ ├── InterfaceMethodDecl.cpp │ ├── InterfaceMethodDecl.h │ ├── InvalidType.h │ ├── IsExpr.h │ ├── LitExpr.h │ ├── MapLitExpr.h │ ├── ModDecl.cpp │ ├── ModDecl.h │ ├── NewExpr.h │ ├── Node.h │ ├── NullType.h │ ├── NullableTypeExpr.h │ ├── OverloadedFuncType.h │ ├── Param.h │ ├── PointerType.h │ ├── PostfixExpr.h │ ├── RetStmt.h │ ├── ScopeExpr.h │ ├── Stmt.h │ ├── SubscriptExpr.h │ ├── ThisExpr.h │ ├── Token.cpp │ ├── Token.h │ ├── TypeAliasDecl.cpp │ ├── TypeAliasDecl.h │ ├── TypeDecl.cpp │ ├── TypeDecl.h │ ├── TypeType.h │ ├── UnaryExpr.h │ ├── UnionType.cpp │ ├── UnionType.h │ ├── UnionTypeExpr.h │ ├── VarDecl.h │ ├── VoidType.h │ ├── WhileStmt.h │ ├── nodes.h │ └── types.cpp ├── ByteCodeCompiler.cpp ├── ByteCodeCompiler.h ├── Decompiler.cpp ├── Decompiler.h ├── IExprVisitor.h ├── IStmtVisitor.h ├── Lexer.cpp ├── Lexer.h ├── NameResolver.cpp ├── NameResolver.h ├── NodePrinter.cpp ├── NodePrinter.h ├── Parser.cpp ├── Parser.h ├── Pass.cpp ├── Pass.h ├── Scope.cpp ├── Scope.h ├── SourceFile.cpp ├── SourceFile.h ├── TypeChecker.cpp ├── TypeChecker.h ├── TypeInfo.cpp ├── TypeInfo.h ├── VM │ ├── ByteCodeChunk.cpp │ ├── ByteCodeChunk.h │ ├── Debugger.cpp │ ├── Debugger.h │ ├── GC.cpp │ ├── GC.h │ ├── Opcode.cpp │ ├── Opcode.h │ ├── VM.cpp │ ├── VM.h │ ├── VMObject.cpp │ ├── VMObject.h │ ├── VMType.h │ ├── VMValue.cpp │ └── VMValue.h ├── exceptions.h ├── main.cpp ├── utils.cpp └── utils.h ├── strela.sln ├── strela.vcxproj ├── strela.vcxproj.filters ├── test.sh └── tests ├── Std ├── Collections │ ├── List.out │ ├── List.strela │ ├── Map.out │ └── Map.strela ├── JSON.out └── JSON.strela └── basic ├── Allocation.out ├── Allocation.strela ├── Arrays.out ├── Arrays.strela ├── Enum.out ├── Enum.strela ├── Export.out ├── Export.strela ├── External.out ├── External.strela ├── Generics.out ├── Generics.strela ├── Import.out ├── Import.strela ├── Interface.out ├── Interface.strela ├── Nullable.out ├── Nullable.strela ├── Operators.out ├── Operators.strela ├── Overloading.out ├── Overloading.strela ├── Precedence.out ├── Precedence.strela ├── Recursion.out ├── Recursion.strela ├── References.out ├── References.strela ├── Require.out ├── Require.strela ├── Strings.out ├── Strings.strela ├── Unions.out ├── Unions.strela ├── While.out └── While.strela /.github/workflows/ccpp.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sunverwerth/strela/HEAD/.github/workflows/ccpp.yml -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sunverwerth/strela/HEAD/.gitignore -------------------------------------------------------------------------------- /.travis.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sunverwerth/strela/HEAD/.travis.yml -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sunverwerth/strela/HEAD/LICENSE -------------------------------------------------------------------------------- /Makefile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sunverwerth/strela/HEAD/Makefile -------------------------------------------------------------------------------- /Std/Collections.strela: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sunverwerth/strela/HEAD/Std/Collections.strela -------------------------------------------------------------------------------- /Std/IO.strela: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sunverwerth/strela/HEAD/Std/IO.strela -------------------------------------------------------------------------------- /Std/JSON.strela: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sunverwerth/strela/HEAD/Std/JSON.strela -------------------------------------------------------------------------------- /Std/Lang/Compiler.strela: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sunverwerth/strela/HEAD/Std/Lang/Compiler.strela -------------------------------------------------------------------------------- /Std/Lang/Compiler/Ast.strela: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sunverwerth/strela/HEAD/Std/Lang/Compiler/Ast.strela -------------------------------------------------------------------------------- /Std/Lang/Compiler/Lexer.strela: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sunverwerth/strela/HEAD/Std/Lang/Compiler/Lexer.strela -------------------------------------------------------------------------------- /Std/Lang/Compiler/Parser.strela: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sunverwerth/strela/HEAD/Std/Lang/Compiler/Parser.strela -------------------------------------------------------------------------------- /Std/Math.strela: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sunverwerth/strela/HEAD/Std/Math.strela -------------------------------------------------------------------------------- /Std/Math/Lina.strela: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sunverwerth/strela/HEAD/Std/Math/Lina.strela -------------------------------------------------------------------------------- /Std/Net.strela: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sunverwerth/strela/HEAD/Std/Net.strela -------------------------------------------------------------------------------- /Std/Net/HTTP.strela: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sunverwerth/strela/HEAD/Std/Net/HTTP.strela -------------------------------------------------------------------------------- /Std/core.strela: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sunverwerth/strela/HEAD/Std/core.strela -------------------------------------------------------------------------------- /Std/csockets.strela: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sunverwerth/strela/HEAD/Std/csockets.strela -------------------------------------------------------------------------------- /Std/cstdio.strela: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sunverwerth/strela/HEAD/Std/cstdio.strela -------------------------------------------------------------------------------- /docs/syntax.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sunverwerth/strela/HEAD/docs/syntax.md -------------------------------------------------------------------------------- /examples/Client.strela: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sunverwerth/strela/HEAD/examples/Client.strela -------------------------------------------------------------------------------- /examples/Fib.strela: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sunverwerth/strela/HEAD/examples/Fib.strela -------------------------------------------------------------------------------- /examples/Ray.strela: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sunverwerth/strela/HEAD/examples/Ray.strela -------------------------------------------------------------------------------- /examples/Server.strela: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sunverwerth/strela/HEAD/examples/Server.strela -------------------------------------------------------------------------------- /flame.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sunverwerth/strela/HEAD/flame.html -------------------------------------------------------------------------------- /includetest.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sunverwerth/strela/HEAD/includetest.sh -------------------------------------------------------------------------------- /install.bat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sunverwerth/strela/HEAD/install.bat -------------------------------------------------------------------------------- /readme.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sunverwerth/strela/HEAD/readme.md -------------------------------------------------------------------------------- /src/Ast/ArrayLitExpr.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sunverwerth/strela/HEAD/src/Ast/ArrayLitExpr.h -------------------------------------------------------------------------------- /src/Ast/ArrayType.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sunverwerth/strela/HEAD/src/Ast/ArrayType.cpp -------------------------------------------------------------------------------- /src/Ast/ArrayType.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sunverwerth/strela/HEAD/src/Ast/ArrayType.h -------------------------------------------------------------------------------- /src/Ast/ArrayTypeExpr.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sunverwerth/strela/HEAD/src/Ast/ArrayTypeExpr.h -------------------------------------------------------------------------------- /src/Ast/AssignExpr.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sunverwerth/strela/HEAD/src/Ast/AssignExpr.h -------------------------------------------------------------------------------- /src/Ast/BinopExpr.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sunverwerth/strela/HEAD/src/Ast/BinopExpr.h -------------------------------------------------------------------------------- /src/Ast/BlockStmt.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sunverwerth/strela/HEAD/src/Ast/BlockStmt.h -------------------------------------------------------------------------------- /src/Ast/BoolType.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sunverwerth/strela/HEAD/src/Ast/BoolType.h -------------------------------------------------------------------------------- /src/Ast/CallExpr.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sunverwerth/strela/HEAD/src/Ast/CallExpr.h -------------------------------------------------------------------------------- /src/Ast/CastExpr.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sunverwerth/strela/HEAD/src/Ast/CastExpr.h -------------------------------------------------------------------------------- /src/Ast/ClassDecl.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sunverwerth/strela/HEAD/src/Ast/ClassDecl.cpp -------------------------------------------------------------------------------- /src/Ast/ClassDecl.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sunverwerth/strela/HEAD/src/Ast/ClassDecl.h -------------------------------------------------------------------------------- /src/Ast/EnumDecl.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sunverwerth/strela/HEAD/src/Ast/EnumDecl.cpp -------------------------------------------------------------------------------- /src/Ast/EnumDecl.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sunverwerth/strela/HEAD/src/Ast/EnumDecl.h -------------------------------------------------------------------------------- /src/Ast/EnumElement.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sunverwerth/strela/HEAD/src/Ast/EnumElement.h -------------------------------------------------------------------------------- /src/Ast/Expr.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sunverwerth/strela/HEAD/src/Ast/Expr.h -------------------------------------------------------------------------------- /src/Ast/ExprStmt.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sunverwerth/strela/HEAD/src/Ast/ExprStmt.h -------------------------------------------------------------------------------- /src/Ast/FieldDecl.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sunverwerth/strela/HEAD/src/Ast/FieldDecl.h -------------------------------------------------------------------------------- /src/Ast/FloatType.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sunverwerth/strela/HEAD/src/Ast/FloatType.h -------------------------------------------------------------------------------- /src/Ast/FuncDecl.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sunverwerth/strela/HEAD/src/Ast/FuncDecl.h -------------------------------------------------------------------------------- /src/Ast/FuncType.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sunverwerth/strela/HEAD/src/Ast/FuncType.cpp -------------------------------------------------------------------------------- /src/Ast/FuncType.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sunverwerth/strela/HEAD/src/Ast/FuncType.h -------------------------------------------------------------------------------- /src/Ast/GenericParam.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sunverwerth/strela/HEAD/src/Ast/GenericParam.h -------------------------------------------------------------------------------- /src/Ast/GenericReificationExpr.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sunverwerth/strela/HEAD/src/Ast/GenericReificationExpr.h -------------------------------------------------------------------------------- /src/Ast/IdExpr.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sunverwerth/strela/HEAD/src/Ast/IdExpr.h -------------------------------------------------------------------------------- /src/Ast/IfStmt.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sunverwerth/strela/HEAD/src/Ast/IfStmt.h -------------------------------------------------------------------------------- /src/Ast/ImportStmt.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sunverwerth/strela/HEAD/src/Ast/ImportStmt.h -------------------------------------------------------------------------------- /src/Ast/IntType.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sunverwerth/strela/HEAD/src/Ast/IntType.h -------------------------------------------------------------------------------- /src/Ast/InterfaceDecl.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sunverwerth/strela/HEAD/src/Ast/InterfaceDecl.cpp -------------------------------------------------------------------------------- /src/Ast/InterfaceDecl.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sunverwerth/strela/HEAD/src/Ast/InterfaceDecl.h -------------------------------------------------------------------------------- /src/Ast/InterfaceFieldDecl.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sunverwerth/strela/HEAD/src/Ast/InterfaceFieldDecl.cpp -------------------------------------------------------------------------------- /src/Ast/InterfaceFieldDecl.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sunverwerth/strela/HEAD/src/Ast/InterfaceFieldDecl.h -------------------------------------------------------------------------------- /src/Ast/InterfaceMethodDecl.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sunverwerth/strela/HEAD/src/Ast/InterfaceMethodDecl.cpp -------------------------------------------------------------------------------- /src/Ast/InterfaceMethodDecl.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sunverwerth/strela/HEAD/src/Ast/InterfaceMethodDecl.h -------------------------------------------------------------------------------- /src/Ast/InvalidType.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sunverwerth/strela/HEAD/src/Ast/InvalidType.h -------------------------------------------------------------------------------- /src/Ast/IsExpr.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sunverwerth/strela/HEAD/src/Ast/IsExpr.h -------------------------------------------------------------------------------- /src/Ast/LitExpr.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sunverwerth/strela/HEAD/src/Ast/LitExpr.h -------------------------------------------------------------------------------- /src/Ast/MapLitExpr.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sunverwerth/strela/HEAD/src/Ast/MapLitExpr.h -------------------------------------------------------------------------------- /src/Ast/ModDecl.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sunverwerth/strela/HEAD/src/Ast/ModDecl.cpp -------------------------------------------------------------------------------- /src/Ast/ModDecl.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sunverwerth/strela/HEAD/src/Ast/ModDecl.h -------------------------------------------------------------------------------- /src/Ast/NewExpr.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sunverwerth/strela/HEAD/src/Ast/NewExpr.h -------------------------------------------------------------------------------- /src/Ast/Node.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sunverwerth/strela/HEAD/src/Ast/Node.h -------------------------------------------------------------------------------- /src/Ast/NullType.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sunverwerth/strela/HEAD/src/Ast/NullType.h -------------------------------------------------------------------------------- /src/Ast/NullableTypeExpr.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sunverwerth/strela/HEAD/src/Ast/NullableTypeExpr.h -------------------------------------------------------------------------------- /src/Ast/OverloadedFuncType.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sunverwerth/strela/HEAD/src/Ast/OverloadedFuncType.h -------------------------------------------------------------------------------- /src/Ast/Param.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sunverwerth/strela/HEAD/src/Ast/Param.h -------------------------------------------------------------------------------- /src/Ast/PointerType.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sunverwerth/strela/HEAD/src/Ast/PointerType.h -------------------------------------------------------------------------------- /src/Ast/PostfixExpr.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sunverwerth/strela/HEAD/src/Ast/PostfixExpr.h -------------------------------------------------------------------------------- /src/Ast/RetStmt.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sunverwerth/strela/HEAD/src/Ast/RetStmt.h -------------------------------------------------------------------------------- /src/Ast/ScopeExpr.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sunverwerth/strela/HEAD/src/Ast/ScopeExpr.h -------------------------------------------------------------------------------- /src/Ast/Stmt.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sunverwerth/strela/HEAD/src/Ast/Stmt.h -------------------------------------------------------------------------------- /src/Ast/SubscriptExpr.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sunverwerth/strela/HEAD/src/Ast/SubscriptExpr.h -------------------------------------------------------------------------------- /src/Ast/ThisExpr.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sunverwerth/strela/HEAD/src/Ast/ThisExpr.h -------------------------------------------------------------------------------- /src/Ast/Token.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sunverwerth/strela/HEAD/src/Ast/Token.cpp -------------------------------------------------------------------------------- /src/Ast/Token.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sunverwerth/strela/HEAD/src/Ast/Token.h -------------------------------------------------------------------------------- /src/Ast/TypeAliasDecl.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sunverwerth/strela/HEAD/src/Ast/TypeAliasDecl.cpp -------------------------------------------------------------------------------- /src/Ast/TypeAliasDecl.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sunverwerth/strela/HEAD/src/Ast/TypeAliasDecl.h -------------------------------------------------------------------------------- /src/Ast/TypeDecl.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sunverwerth/strela/HEAD/src/Ast/TypeDecl.cpp -------------------------------------------------------------------------------- /src/Ast/TypeDecl.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sunverwerth/strela/HEAD/src/Ast/TypeDecl.h -------------------------------------------------------------------------------- /src/Ast/TypeType.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sunverwerth/strela/HEAD/src/Ast/TypeType.h -------------------------------------------------------------------------------- /src/Ast/UnaryExpr.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sunverwerth/strela/HEAD/src/Ast/UnaryExpr.h -------------------------------------------------------------------------------- /src/Ast/UnionType.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sunverwerth/strela/HEAD/src/Ast/UnionType.cpp -------------------------------------------------------------------------------- /src/Ast/UnionType.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sunverwerth/strela/HEAD/src/Ast/UnionType.h -------------------------------------------------------------------------------- /src/Ast/UnionTypeExpr.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sunverwerth/strela/HEAD/src/Ast/UnionTypeExpr.h -------------------------------------------------------------------------------- /src/Ast/VarDecl.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sunverwerth/strela/HEAD/src/Ast/VarDecl.h -------------------------------------------------------------------------------- /src/Ast/VoidType.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sunverwerth/strela/HEAD/src/Ast/VoidType.h -------------------------------------------------------------------------------- /src/Ast/WhileStmt.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sunverwerth/strela/HEAD/src/Ast/WhileStmt.h -------------------------------------------------------------------------------- /src/Ast/nodes.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sunverwerth/strela/HEAD/src/Ast/nodes.h -------------------------------------------------------------------------------- /src/Ast/types.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sunverwerth/strela/HEAD/src/Ast/types.cpp -------------------------------------------------------------------------------- /src/ByteCodeCompiler.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sunverwerth/strela/HEAD/src/ByteCodeCompiler.cpp -------------------------------------------------------------------------------- /src/ByteCodeCompiler.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sunverwerth/strela/HEAD/src/ByteCodeCompiler.h -------------------------------------------------------------------------------- /src/Decompiler.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sunverwerth/strela/HEAD/src/Decompiler.cpp -------------------------------------------------------------------------------- /src/Decompiler.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sunverwerth/strela/HEAD/src/Decompiler.h -------------------------------------------------------------------------------- /src/IExprVisitor.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sunverwerth/strela/HEAD/src/IExprVisitor.h -------------------------------------------------------------------------------- /src/IStmtVisitor.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sunverwerth/strela/HEAD/src/IStmtVisitor.h -------------------------------------------------------------------------------- /src/Lexer.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sunverwerth/strela/HEAD/src/Lexer.cpp -------------------------------------------------------------------------------- /src/Lexer.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sunverwerth/strela/HEAD/src/Lexer.h -------------------------------------------------------------------------------- /src/NameResolver.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sunverwerth/strela/HEAD/src/NameResolver.cpp -------------------------------------------------------------------------------- /src/NameResolver.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sunverwerth/strela/HEAD/src/NameResolver.h -------------------------------------------------------------------------------- /src/NodePrinter.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sunverwerth/strela/HEAD/src/NodePrinter.cpp -------------------------------------------------------------------------------- /src/NodePrinter.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sunverwerth/strela/HEAD/src/NodePrinter.h -------------------------------------------------------------------------------- /src/Parser.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sunverwerth/strela/HEAD/src/Parser.cpp -------------------------------------------------------------------------------- /src/Parser.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sunverwerth/strela/HEAD/src/Parser.h -------------------------------------------------------------------------------- /src/Pass.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sunverwerth/strela/HEAD/src/Pass.cpp -------------------------------------------------------------------------------- /src/Pass.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sunverwerth/strela/HEAD/src/Pass.h -------------------------------------------------------------------------------- /src/Scope.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sunverwerth/strela/HEAD/src/Scope.cpp -------------------------------------------------------------------------------- /src/Scope.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sunverwerth/strela/HEAD/src/Scope.h -------------------------------------------------------------------------------- /src/SourceFile.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sunverwerth/strela/HEAD/src/SourceFile.cpp -------------------------------------------------------------------------------- /src/SourceFile.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sunverwerth/strela/HEAD/src/SourceFile.h -------------------------------------------------------------------------------- /src/TypeChecker.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sunverwerth/strela/HEAD/src/TypeChecker.cpp -------------------------------------------------------------------------------- /src/TypeChecker.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sunverwerth/strela/HEAD/src/TypeChecker.h -------------------------------------------------------------------------------- /src/TypeInfo.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sunverwerth/strela/HEAD/src/TypeInfo.cpp -------------------------------------------------------------------------------- /src/TypeInfo.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sunverwerth/strela/HEAD/src/TypeInfo.h -------------------------------------------------------------------------------- /src/VM/ByteCodeChunk.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sunverwerth/strela/HEAD/src/VM/ByteCodeChunk.cpp -------------------------------------------------------------------------------- /src/VM/ByteCodeChunk.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sunverwerth/strela/HEAD/src/VM/ByteCodeChunk.h -------------------------------------------------------------------------------- /src/VM/Debugger.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sunverwerth/strela/HEAD/src/VM/Debugger.cpp -------------------------------------------------------------------------------- /src/VM/Debugger.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sunverwerth/strela/HEAD/src/VM/Debugger.h -------------------------------------------------------------------------------- /src/VM/GC.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sunverwerth/strela/HEAD/src/VM/GC.cpp -------------------------------------------------------------------------------- /src/VM/GC.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sunverwerth/strela/HEAD/src/VM/GC.h -------------------------------------------------------------------------------- /src/VM/Opcode.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sunverwerth/strela/HEAD/src/VM/Opcode.cpp -------------------------------------------------------------------------------- /src/VM/Opcode.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sunverwerth/strela/HEAD/src/VM/Opcode.h -------------------------------------------------------------------------------- /src/VM/VM.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sunverwerth/strela/HEAD/src/VM/VM.cpp -------------------------------------------------------------------------------- /src/VM/VM.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sunverwerth/strela/HEAD/src/VM/VM.h -------------------------------------------------------------------------------- /src/VM/VMObject.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sunverwerth/strela/HEAD/src/VM/VMObject.cpp -------------------------------------------------------------------------------- /src/VM/VMObject.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sunverwerth/strela/HEAD/src/VM/VMObject.h -------------------------------------------------------------------------------- /src/VM/VMType.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sunverwerth/strela/HEAD/src/VM/VMType.h -------------------------------------------------------------------------------- /src/VM/VMValue.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sunverwerth/strela/HEAD/src/VM/VMValue.cpp -------------------------------------------------------------------------------- /src/VM/VMValue.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sunverwerth/strela/HEAD/src/VM/VMValue.h -------------------------------------------------------------------------------- /src/exceptions.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sunverwerth/strela/HEAD/src/exceptions.h -------------------------------------------------------------------------------- /src/main.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sunverwerth/strela/HEAD/src/main.cpp -------------------------------------------------------------------------------- /src/utils.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sunverwerth/strela/HEAD/src/utils.cpp -------------------------------------------------------------------------------- /src/utils.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sunverwerth/strela/HEAD/src/utils.h -------------------------------------------------------------------------------- /strela.sln: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sunverwerth/strela/HEAD/strela.sln -------------------------------------------------------------------------------- /strela.vcxproj: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sunverwerth/strela/HEAD/strela.vcxproj -------------------------------------------------------------------------------- /strela.vcxproj.filters: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sunverwerth/strela/HEAD/strela.vcxproj.filters -------------------------------------------------------------------------------- /test.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sunverwerth/strela/HEAD/test.sh -------------------------------------------------------------------------------- /tests/Std/Collections/List.out: -------------------------------------------------------------------------------- 1 | 2 2 | 1 3 | 2 4 | A 5 | B 6 | 0 7 | -------------------------------------------------------------------------------- /tests/Std/Collections/List.strela: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sunverwerth/strela/HEAD/tests/Std/Collections/List.strela -------------------------------------------------------------------------------- /tests/Std/Collections/Map.out: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sunverwerth/strela/HEAD/tests/Std/Collections/Map.out -------------------------------------------------------------------------------- /tests/Std/Collections/Map.strela: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sunverwerth/strela/HEAD/tests/Std/Collections/Map.strela -------------------------------------------------------------------------------- /tests/Std/JSON.out: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sunverwerth/strela/HEAD/tests/Std/JSON.out -------------------------------------------------------------------------------- /tests/Std/JSON.strela: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sunverwerth/strela/HEAD/tests/Std/JSON.strela -------------------------------------------------------------------------------- /tests/basic/Allocation.out: -------------------------------------------------------------------------------- 1 | Foo::bar() 2 | -------------------------------------------------------------------------------- /tests/basic/Allocation.strela: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sunverwerth/strela/HEAD/tests/basic/Allocation.strela -------------------------------------------------------------------------------- /tests/basic/Arrays.out: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sunverwerth/strela/HEAD/tests/basic/Arrays.out -------------------------------------------------------------------------------- /tests/basic/Arrays.strela: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sunverwerth/strela/HEAD/tests/basic/Arrays.strela -------------------------------------------------------------------------------- /tests/basic/Enum.out: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sunverwerth/strela/HEAD/tests/basic/Enum.out -------------------------------------------------------------------------------- /tests/basic/Enum.strela: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sunverwerth/strela/HEAD/tests/basic/Enum.strela -------------------------------------------------------------------------------- /tests/basic/Export.out: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sunverwerth/strela/HEAD/tests/basic/Export.out -------------------------------------------------------------------------------- /tests/basic/Export.strela: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sunverwerth/strela/HEAD/tests/basic/Export.strela -------------------------------------------------------------------------------- /tests/basic/External.out: -------------------------------------------------------------------------------- 1 | 32 2 | 16 3 | 8 4 | 4 5 | 2 6 | -------------------------------------------------------------------------------- /tests/basic/External.strela: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sunverwerth/strela/HEAD/tests/basic/External.strela -------------------------------------------------------------------------------- /tests/basic/Generics.out: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sunverwerth/strela/HEAD/tests/basic/Generics.out -------------------------------------------------------------------------------- /tests/basic/Generics.strela: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sunverwerth/strela/HEAD/tests/basic/Generics.strela -------------------------------------------------------------------------------- /tests/basic/Import.out: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sunverwerth/strela/HEAD/tests/basic/Import.out -------------------------------------------------------------------------------- /tests/basic/Import.strela: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sunverwerth/strela/HEAD/tests/basic/Import.strela -------------------------------------------------------------------------------- /tests/basic/Interface.out: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sunverwerth/strela/HEAD/tests/basic/Interface.out -------------------------------------------------------------------------------- /tests/basic/Interface.strela: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sunverwerth/strela/HEAD/tests/basic/Interface.strela -------------------------------------------------------------------------------- /tests/basic/Nullable.out: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sunverwerth/strela/HEAD/tests/basic/Nullable.out -------------------------------------------------------------------------------- /tests/basic/Nullable.strela: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sunverwerth/strela/HEAD/tests/basic/Nullable.strela -------------------------------------------------------------------------------- /tests/basic/Operators.out: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sunverwerth/strela/HEAD/tests/basic/Operators.out -------------------------------------------------------------------------------- /tests/basic/Operators.strela: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sunverwerth/strela/HEAD/tests/basic/Operators.strela -------------------------------------------------------------------------------- /tests/basic/Overloading.out: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sunverwerth/strela/HEAD/tests/basic/Overloading.out -------------------------------------------------------------------------------- /tests/basic/Overloading.strela: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sunverwerth/strela/HEAD/tests/basic/Overloading.strela -------------------------------------------------------------------------------- /tests/basic/Precedence.out: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sunverwerth/strela/HEAD/tests/basic/Precedence.out -------------------------------------------------------------------------------- /tests/basic/Precedence.strela: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sunverwerth/strela/HEAD/tests/basic/Precedence.strela -------------------------------------------------------------------------------- /tests/basic/Recursion.out: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sunverwerth/strela/HEAD/tests/basic/Recursion.out -------------------------------------------------------------------------------- /tests/basic/Recursion.strela: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sunverwerth/strela/HEAD/tests/basic/Recursion.strela -------------------------------------------------------------------------------- /tests/basic/References.out: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sunverwerth/strela/HEAD/tests/basic/References.out -------------------------------------------------------------------------------- /tests/basic/References.strela: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sunverwerth/strela/HEAD/tests/basic/References.strela -------------------------------------------------------------------------------- /tests/basic/Require.out: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sunverwerth/strela/HEAD/tests/basic/Require.out -------------------------------------------------------------------------------- /tests/basic/Require.strela: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sunverwerth/strela/HEAD/tests/basic/Require.strela -------------------------------------------------------------------------------- /tests/basic/Strings.out: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sunverwerth/strela/HEAD/tests/basic/Strings.out -------------------------------------------------------------------------------- /tests/basic/Strings.strela: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sunverwerth/strela/HEAD/tests/basic/Strings.strela -------------------------------------------------------------------------------- /tests/basic/Unions.out: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sunverwerth/strela/HEAD/tests/basic/Unions.out -------------------------------------------------------------------------------- /tests/basic/Unions.strela: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sunverwerth/strela/HEAD/tests/basic/Unions.strela -------------------------------------------------------------------------------- /tests/basic/While.out: -------------------------------------------------------------------------------- 1 | 10 2 | 9 3 | 8 4 | 7 5 | 6 6 | 5 7 | 4 8 | 3 9 | 2 10 | 1 11 | -------------------------------------------------------------------------------- /tests/basic/While.strela: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sunverwerth/strela/HEAD/tests/basic/While.strela --------------------------------------------------------------------------------