├── .gitattributes ├── .gitignore ├── ATTRIBUTIONS.md ├── LICENSE ├── NOTES.md ├── Pipfile ├── Pipfile.lock ├── README.md ├── cli ├── viper.py └── viper.sh ├── compiler ├── codegen │ └── codegen.py ├── lexer │ ├── lexer.grammar │ ├── lexer.py │ └── valid.py ├── parser │ ├── ast.py │ ├── parser.grammar │ └── parser.py └── sema │ ├── conversion.py │ ├── inference.py │ ├── instantiation.py │ ├── resolution.py │ ├── scope.py │ └── template.py ├── main.py ├── pytest.ini ├── samples ├── class.vi └── function.vi ├── tests ├── test_lexer.py └── test_parser.py └── tox.ini /.gitattributes: -------------------------------------------------------------------------------- 1 | *.vi linguist-language=Python 2 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | .vscode 2 | htmlcov 3 | **/__pycache__ 4 | .coverage 5 | -------------------------------------------------------------------------------- /ATTRIBUTIONS.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/appcypher/viper/HEAD/ATTRIBUTIONS.md -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/appcypher/viper/HEAD/LICENSE -------------------------------------------------------------------------------- /NOTES.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/appcypher/viper/HEAD/NOTES.md -------------------------------------------------------------------------------- /Pipfile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/appcypher/viper/HEAD/Pipfile -------------------------------------------------------------------------------- /Pipfile.lock: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/appcypher/viper/HEAD/Pipfile.lock -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/appcypher/viper/HEAD/README.md -------------------------------------------------------------------------------- /cli/viper.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/appcypher/viper/HEAD/cli/viper.py -------------------------------------------------------------------------------- /cli/viper.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/appcypher/viper/HEAD/cli/viper.sh -------------------------------------------------------------------------------- /compiler/codegen/codegen.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/appcypher/viper/HEAD/compiler/codegen/codegen.py -------------------------------------------------------------------------------- /compiler/lexer/lexer.grammar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/appcypher/viper/HEAD/compiler/lexer/lexer.grammar -------------------------------------------------------------------------------- /compiler/lexer/lexer.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/appcypher/viper/HEAD/compiler/lexer/lexer.py -------------------------------------------------------------------------------- /compiler/lexer/valid.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/appcypher/viper/HEAD/compiler/lexer/valid.py -------------------------------------------------------------------------------- /compiler/parser/ast.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/appcypher/viper/HEAD/compiler/parser/ast.py -------------------------------------------------------------------------------- /compiler/parser/parser.grammar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/appcypher/viper/HEAD/compiler/parser/parser.grammar -------------------------------------------------------------------------------- /compiler/parser/parser.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/appcypher/viper/HEAD/compiler/parser/parser.py -------------------------------------------------------------------------------- /compiler/sema/conversion.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/appcypher/viper/HEAD/compiler/sema/conversion.py -------------------------------------------------------------------------------- /compiler/sema/inference.py: -------------------------------------------------------------------------------- 1 | """ 2 | Type inference 3 | """ 4 | -------------------------------------------------------------------------------- /compiler/sema/instantiation.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/appcypher/viper/HEAD/compiler/sema/instantiation.py -------------------------------------------------------------------------------- /compiler/sema/resolution.py: -------------------------------------------------------------------------------- 1 | """ 2 | MRO, ... 3 | """ 4 | -------------------------------------------------------------------------------- /compiler/sema/scope.py: -------------------------------------------------------------------------------- 1 | """ 2 | Declaration and usage scopes 3 | """ 4 | -------------------------------------------------------------------------------- /compiler/sema/template.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/appcypher/viper/HEAD/compiler/sema/template.py -------------------------------------------------------------------------------- /main.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/appcypher/viper/HEAD/main.py -------------------------------------------------------------------------------- /pytest.ini: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/appcypher/viper/HEAD/pytest.ini -------------------------------------------------------------------------------- /samples/class.vi: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/appcypher/viper/HEAD/samples/class.vi -------------------------------------------------------------------------------- /samples/function.vi: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/appcypher/viper/HEAD/samples/function.vi -------------------------------------------------------------------------------- /tests/test_lexer.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/appcypher/viper/HEAD/tests/test_lexer.py -------------------------------------------------------------------------------- /tests/test_parser.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/appcypher/viper/HEAD/tests/test_parser.py -------------------------------------------------------------------------------- /tox.ini: -------------------------------------------------------------------------------- 1 | [flake8] 2 | max-line-length = 100 3 | ignore = E203, W503 4 | --------------------------------------------------------------------------------