From a0358fe8f56e18d2f10b9e4b3e9f0d9b48819142 Mon Sep 17 00:00:00 2001 From: 简律纯 Date: Sat, 22 Jul 2023 20:42:36 +0800 Subject: add reference --- readme.rst | 25 +++++++++++++++++-------- 1 file changed, 17 insertions(+), 8 deletions(-) diff --git a/readme.rst b/readme.rst index b3d8f09..591e91e 100644 --- a/readme.rst +++ b/readme.rst @@ -6,21 +6,30 @@ Psi is a new programming language designed with simplicity, flexibility, and per Features -------- -- **Lexer Module**: The lexer module is responsible for converting the source code into a sequence of tokens. It recognizes the basic elements of the language such as identifiers, keywords, operators, and literals. +- `Lexer Module`_: The lexer module is responsible for converting the source code into a sequence of tokens. It recognizes the basic elements of the language such as identifiers, keywords, operators, and literals. -- **Parser Module**: The parser module takes the sequence of tokens generated by the lexer module and transforms it into an Abstract Syntax Tree (AST). The AST is a tree-like data structure that represents the source code in a way that is closer to the syntactic structure of the programming language. +- `Parser Module`_: The parser module takes the sequence of tokens generated by the lexer module and transforms it into an Abstract Syntax Tree (AST). The AST is a tree-like data structure that represents the source code in a way that is closer to the syntactic structure of the programming language. -- **Built-in Types Module**: This module defines the built-in types of the Psi language, such as lists and dictionaries. It provides functions for creating and manipulating instances of these types. +- `Built-in Types Module`_: This module defines the built-in types of the Psi language, such as lists and dictionaries. It provides functions for creating and manipulating instances of these types. -- **Error Handling Module**: This module provides a mechanism for catching and handling errors during runtime. It defines a set of exception classes and functions for throwing and catching these exceptions. +- `Error Handling Module`_: This module provides a mechanism for catching and handling errors during runtime. It defines a set of exception classes and functions for throwing and catching these exceptions. -- **Execution Environment Module**: This module defines the execution environment of the Psi language, including the scope and lifecycle of variables. It provides functions for defining and looking up variables in the execution environment. +- `Execution Environment Module`_: This module defines the execution environment of the Psi language, including the scope and lifecycle of variables. It provides functions for defining and looking up variables in the execution environment. -- **Interpreter Module**: The main task of this module is to traverse the AST and perform the corresponding operations in the execution environment. +- `Interpreter Module`_: The main task of this module is to traverse the AST and perform the corresponding operations in the execution environment. -- **Mathematics Foundation Module**: This module provides basic mathematical functions and constants, such as addition, subtraction, multiplication, and division. +- `Mathematics Foundation Module`_: This module provides basic mathematical functions and constants, such as addition, subtraction, multiplication, and division. -- **Documentation Module**: This module uses reStructuredText and Sphinx to build the documentation, providing API interface descriptions and usage examples. +- `Documentation Module`_: This module uses reStructuredText and Sphinx to build the documentation, providing API interface descriptions and usage examples. + +.. _`Lexer Module`: https://github.com/HydroRoll-Team/psi/blob/main/psi/lexer.py +.. _`Parser Module`: https://github.com/HydroRoll-Team/psi/blob/main/psi/parser.py +.. _`Built-in Types Module`: https://github.com/HydroRoll-Team/psi/blob/main/psi/type.py +.. _`Error Handling Module`: https://github.com/HydroRoll-Team/psi/blob/main/psi/exception.py +.. _`Execution Environment Module`: https://github.com/HydroRoll-Team/psi/blob/main/psi/execution.py +.. _`Interpreter Module`: https://github.com/HydroRoll-Team/psi/blob/main/psi/interpreter.py +.. _`Mathematics Foundation Module`: https://github.com/HydroRoll-Team/psi/blob/main/psi/mathematics.py +.. _`Documentation Module`: https://github.com/HydroRoll-Team/psi/blob/main/docs Getting Started --------------- -- cgit v1.2.3-70-g09d2