Skip to content

A Programming Language to protect the Security of Information Flow

Notifications You must be signed in to change notification settings

BlankHeart0/Knight

Repository files navigation

✨ Knight 🗡️

Knight is a Programming Language to protect the Security of Information Flow.

If you want to know details, please read KnightDocument.pdf(Only can open under Windows), KnightGrammar.ebnf, etc.

The whole Knight project, toolchain includes four parts:

  • Knight : The Programming Language
  • Trial : Knight's Compiler
  • Steed : The Virtual Machine to run Knight programs(Knight Assembly)
  • Duke : A toy System to show Knight program's behavior

If you want to have a great experience in reading and coding Knight or KnightAssembly programs, please install Knight extensions.They are in extension directory.

Build

make -j8

Install

make install

Uninstall

make uninstall

Usage

Trial

trial [-LUTA] knight_file 

-L: Compile to lower-case KnightAssembly file (default)

-U: Compile to upper-case KnightAssembly file

-T: Scan the code, print tokens

-A: Parse the code, print abstract syntax tree

Steed

steed KnightAssembly_file

Duke

In the directory where you want duke to use the files , such as "test/duke/Env"

duke

Knight is not an industry standard language, so it's done now. 2024 5

About

A Programming Language to protect the Security of Information Flow

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages