├── LICENSE ├── README.md └── compiler ├── .gitignore ├── .vscode ├── launch.json ├── settings.json └── tasks.json ├── v1 ├── HOW_TO_BUILD.md ├── Makefile ├── asm.hpp ├── ast.cpp ├── ast.hpp ├── build-opl.sh ├── cfunc.c ├── example │ ├── Makefile │ ├── list.opl │ ├── opela.opl │ ├── rpn.opl │ └── sdl.opl ├── magic_enum.hpp ├── main.cpp ├── source.cpp ├── source.hpp ├── syntax.ebnf ├── test.sh ├── test_run.opl ├── token.cpp ├── token.hpp └── vscode_debug.opl └── v2 ├── ANIMATION.md ├── HOW_TO_BUILD.md ├── Makefile ├── asm.cpp ├── asm.hpp ├── ast.cpp ├── ast.hpp ├── cfunc.c ├── example ├── .gitignore ├── Makefile ├── cmdargs.opl ├── coro.opl ├── hello.opl ├── list.opl ├── mikanos-app │ ├── .gitignore │ ├── Makefile │ ├── newlib_support.o │ ├── rpn.opl │ └── syscall.o ├── mycoroutine_helper.s ├── rpn.opl ├── sdl.opl └── vector.opl ├── gen_parse_anime.sh ├── generics.cpp ├── generics.hpp ├── magic_enum.hpp ├── main.cpp ├── mangle.cpp ├── mangle.hpp ├── object.cpp ├── object.hpp ├── parse_anime_hello ├── anime.gif ├── page_10.gif └── page_39.gif ├── scope.cpp ├── scope.hpp ├── source.cpp ├── source.hpp ├── test.opl ├── test.sh ├── token.cpp ├── token.hpp ├── types.hpp ├── typespec.cpp └── typespec.hpp /LICENSE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/uchan-nos/opela/HEAD/LICENSE -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/uchan-nos/opela/HEAD/README.md -------------------------------------------------------------------------------- /compiler/.gitignore: -------------------------------------------------------------------------------- 1 | opelac 2 | *.o 3 | *.s 4 | .*.d 5 | v2/test.exe 6 | -------------------------------------------------------------------------------- /compiler/.vscode/launch.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/uchan-nos/opela/HEAD/compiler/.vscode/launch.json -------------------------------------------------------------------------------- /compiler/.vscode/settings.json: -------------------------------------------------------------------------------- 1 | { 2 | "C_Cpp.default.cppStandard": "c++17" 3 | } -------------------------------------------------------------------------------- /compiler/.vscode/tasks.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/uchan-nos/opela/HEAD/compiler/.vscode/tasks.json -------------------------------------------------------------------------------- /compiler/v1/HOW_TO_BUILD.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/uchan-nos/opela/HEAD/compiler/v1/HOW_TO_BUILD.md -------------------------------------------------------------------------------- /compiler/v1/Makefile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/uchan-nos/opela/HEAD/compiler/v1/Makefile -------------------------------------------------------------------------------- /compiler/v1/asm.hpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/uchan-nos/opela/HEAD/compiler/v1/asm.hpp -------------------------------------------------------------------------------- /compiler/v1/ast.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/uchan-nos/opela/HEAD/compiler/v1/ast.cpp -------------------------------------------------------------------------------- /compiler/v1/ast.hpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/uchan-nos/opela/HEAD/compiler/v1/ast.hpp -------------------------------------------------------------------------------- /compiler/v1/build-opl.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/uchan-nos/opela/HEAD/compiler/v1/build-opl.sh -------------------------------------------------------------------------------- /compiler/v1/cfunc.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/uchan-nos/opela/HEAD/compiler/v1/cfunc.c -------------------------------------------------------------------------------- /compiler/v1/example/Makefile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/uchan-nos/opela/HEAD/compiler/v1/example/Makefile -------------------------------------------------------------------------------- /compiler/v1/example/list.opl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/uchan-nos/opela/HEAD/compiler/v1/example/list.opl -------------------------------------------------------------------------------- /compiler/v1/example/opela.opl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/uchan-nos/opela/HEAD/compiler/v1/example/opela.opl -------------------------------------------------------------------------------- /compiler/v1/example/rpn.opl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/uchan-nos/opela/HEAD/compiler/v1/example/rpn.opl -------------------------------------------------------------------------------- /compiler/v1/example/sdl.opl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/uchan-nos/opela/HEAD/compiler/v1/example/sdl.opl -------------------------------------------------------------------------------- /compiler/v1/magic_enum.hpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/uchan-nos/opela/HEAD/compiler/v1/magic_enum.hpp -------------------------------------------------------------------------------- /compiler/v1/main.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/uchan-nos/opela/HEAD/compiler/v1/main.cpp -------------------------------------------------------------------------------- /compiler/v1/source.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/uchan-nos/opela/HEAD/compiler/v1/source.cpp -------------------------------------------------------------------------------- /compiler/v1/source.hpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/uchan-nos/opela/HEAD/compiler/v1/source.hpp -------------------------------------------------------------------------------- /compiler/v1/syntax.ebnf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/uchan-nos/opela/HEAD/compiler/v1/syntax.ebnf -------------------------------------------------------------------------------- /compiler/v1/test.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/uchan-nos/opela/HEAD/compiler/v1/test.sh -------------------------------------------------------------------------------- /compiler/v1/test_run.opl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/uchan-nos/opela/HEAD/compiler/v1/test_run.opl -------------------------------------------------------------------------------- /compiler/v1/token.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/uchan-nos/opela/HEAD/compiler/v1/token.cpp -------------------------------------------------------------------------------- /compiler/v1/token.hpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/uchan-nos/opela/HEAD/compiler/v1/token.hpp -------------------------------------------------------------------------------- /compiler/v1/vscode_debug.opl: -------------------------------------------------------------------------------- 1 | func main() { 2 | return 10@uint3; 3 | } 4 | -------------------------------------------------------------------------------- /compiler/v2/ANIMATION.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/uchan-nos/opela/HEAD/compiler/v2/ANIMATION.md -------------------------------------------------------------------------------- /compiler/v2/HOW_TO_BUILD.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/uchan-nos/opela/HEAD/compiler/v2/HOW_TO_BUILD.md -------------------------------------------------------------------------------- /compiler/v2/Makefile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/uchan-nos/opela/HEAD/compiler/v2/Makefile -------------------------------------------------------------------------------- /compiler/v2/asm.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/uchan-nos/opela/HEAD/compiler/v2/asm.cpp -------------------------------------------------------------------------------- /compiler/v2/asm.hpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/uchan-nos/opela/HEAD/compiler/v2/asm.hpp -------------------------------------------------------------------------------- /compiler/v2/ast.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/uchan-nos/opela/HEAD/compiler/v2/ast.cpp -------------------------------------------------------------------------------- /compiler/v2/ast.hpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/uchan-nos/opela/HEAD/compiler/v2/ast.hpp -------------------------------------------------------------------------------- /compiler/v2/cfunc.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/uchan-nos/opela/HEAD/compiler/v2/cfunc.c -------------------------------------------------------------------------------- /compiler/v2/example/.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/uchan-nos/opela/HEAD/compiler/v2/example/.gitignore -------------------------------------------------------------------------------- /compiler/v2/example/Makefile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/uchan-nos/opela/HEAD/compiler/v2/example/Makefile -------------------------------------------------------------------------------- /compiler/v2/example/cmdargs.opl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/uchan-nos/opela/HEAD/compiler/v2/example/cmdargs.opl -------------------------------------------------------------------------------- /compiler/v2/example/coro.opl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/uchan-nos/opela/HEAD/compiler/v2/example/coro.opl -------------------------------------------------------------------------------- /compiler/v2/example/hello.opl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/uchan-nos/opela/HEAD/compiler/v2/example/hello.opl -------------------------------------------------------------------------------- /compiler/v2/example/list.opl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/uchan-nos/opela/HEAD/compiler/v2/example/list.opl -------------------------------------------------------------------------------- /compiler/v2/example/mikanos-app/.gitignore: -------------------------------------------------------------------------------- 1 | /rpn 2 | -------------------------------------------------------------------------------- /compiler/v2/example/mikanos-app/Makefile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/uchan-nos/opela/HEAD/compiler/v2/example/mikanos-app/Makefile -------------------------------------------------------------------------------- /compiler/v2/example/mikanos-app/newlib_support.o: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/uchan-nos/opela/HEAD/compiler/v2/example/mikanos-app/newlib_support.o -------------------------------------------------------------------------------- /compiler/v2/example/mikanos-app/rpn.opl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/uchan-nos/opela/HEAD/compiler/v2/example/mikanos-app/rpn.opl -------------------------------------------------------------------------------- /compiler/v2/example/mikanos-app/syscall.o: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/uchan-nos/opela/HEAD/compiler/v2/example/mikanos-app/syscall.o -------------------------------------------------------------------------------- /compiler/v2/example/mycoroutine_helper.s: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/uchan-nos/opela/HEAD/compiler/v2/example/mycoroutine_helper.s -------------------------------------------------------------------------------- /compiler/v2/example/rpn.opl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/uchan-nos/opela/HEAD/compiler/v2/example/rpn.opl -------------------------------------------------------------------------------- /compiler/v2/example/sdl.opl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/uchan-nos/opela/HEAD/compiler/v2/example/sdl.opl -------------------------------------------------------------------------------- /compiler/v2/example/vector.opl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/uchan-nos/opela/HEAD/compiler/v2/example/vector.opl -------------------------------------------------------------------------------- /compiler/v2/gen_parse_anime.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/uchan-nos/opela/HEAD/compiler/v2/gen_parse_anime.sh -------------------------------------------------------------------------------- /compiler/v2/generics.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/uchan-nos/opela/HEAD/compiler/v2/generics.cpp -------------------------------------------------------------------------------- /compiler/v2/generics.hpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/uchan-nos/opela/HEAD/compiler/v2/generics.hpp -------------------------------------------------------------------------------- /compiler/v2/magic_enum.hpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/uchan-nos/opela/HEAD/compiler/v2/magic_enum.hpp -------------------------------------------------------------------------------- /compiler/v2/main.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/uchan-nos/opela/HEAD/compiler/v2/main.cpp -------------------------------------------------------------------------------- /compiler/v2/mangle.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/uchan-nos/opela/HEAD/compiler/v2/mangle.cpp -------------------------------------------------------------------------------- /compiler/v2/mangle.hpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/uchan-nos/opela/HEAD/compiler/v2/mangle.hpp -------------------------------------------------------------------------------- /compiler/v2/object.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/uchan-nos/opela/HEAD/compiler/v2/object.cpp -------------------------------------------------------------------------------- /compiler/v2/object.hpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/uchan-nos/opela/HEAD/compiler/v2/object.hpp -------------------------------------------------------------------------------- /compiler/v2/parse_anime_hello/anime.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/uchan-nos/opela/HEAD/compiler/v2/parse_anime_hello/anime.gif -------------------------------------------------------------------------------- /compiler/v2/parse_anime_hello/page_10.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/uchan-nos/opela/HEAD/compiler/v2/parse_anime_hello/page_10.gif -------------------------------------------------------------------------------- /compiler/v2/parse_anime_hello/page_39.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/uchan-nos/opela/HEAD/compiler/v2/parse_anime_hello/page_39.gif -------------------------------------------------------------------------------- /compiler/v2/scope.cpp: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /compiler/v2/scope.hpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/uchan-nos/opela/HEAD/compiler/v2/scope.hpp -------------------------------------------------------------------------------- /compiler/v2/source.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/uchan-nos/opela/HEAD/compiler/v2/source.cpp -------------------------------------------------------------------------------- /compiler/v2/source.hpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/uchan-nos/opela/HEAD/compiler/v2/source.hpp -------------------------------------------------------------------------------- /compiler/v2/test.opl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/uchan-nos/opela/HEAD/compiler/v2/test.opl -------------------------------------------------------------------------------- /compiler/v2/test.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/uchan-nos/opela/HEAD/compiler/v2/test.sh -------------------------------------------------------------------------------- /compiler/v2/token.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/uchan-nos/opela/HEAD/compiler/v2/token.cpp -------------------------------------------------------------------------------- /compiler/v2/token.hpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/uchan-nos/opela/HEAD/compiler/v2/token.hpp -------------------------------------------------------------------------------- /compiler/v2/types.hpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/uchan-nos/opela/HEAD/compiler/v2/types.hpp -------------------------------------------------------------------------------- /compiler/v2/typespec.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/uchan-nos/opela/HEAD/compiler/v2/typespec.cpp -------------------------------------------------------------------------------- /compiler/v2/typespec.hpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/uchan-nos/opela/HEAD/compiler/v2/typespec.hpp --------------------------------------------------------------------------------