Initial commit: Oraset programming language with documentation
This commit is contained in:
+527
@@ -0,0 +1,527 @@
|
||||
# Oraset Programming Language
|
||||
|
||||
Oraset is a simple cross-platform programming language implemented in Python, supporting both Windows and Linux systems.
|
||||
|
||||
## Features
|
||||
|
||||
- Cross-platform operation (Windows and Linux)
|
||||
- Simple and easy-to-understand syntax
|
||||
- Support for variable definition and assignment
|
||||
- Support for expression evaluation (arithmetic, comparison, logical)
|
||||
- Support for conditional statements (if, else if, else)
|
||||
- Support for loop statements (while)
|
||||
- Support for function definition and call
|
||||
- Support for class definition
|
||||
- Support for output functionality
|
||||
- Support for comments
|
||||
|
||||
## Quick Start
|
||||
|
||||
### Runtime Environment
|
||||
|
||||
- Python 3.6+
|
||||
|
||||
### How to Run
|
||||
|
||||
```bash
|
||||
# Run .oas or .oraset file
|
||||
python oraset.py <filename.oas|.oraset>
|
||||
|
||||
# Pack .oas or .oraset file into .osp file
|
||||
python oraset.py pack <filename.oas|.oraset>
|
||||
|
||||
# Run .osp file
|
||||
python oraset.py -osp <filename.osp>
|
||||
```
|
||||
|
||||
### Example
|
||||
|
||||
Create a file named `hello.oas` with the following content:
|
||||
|
||||
```oraset
|
||||
!! Output Hello, Oraset!
|
||||
show(`Hello, Oraset!`);
|
||||
|
||||
!! Variable definition and calculation
|
||||
x = 10;
|
||||
y = 20;
|
||||
sum = x + y;
|
||||
show(`10 + 20 = `, sum);
|
||||
|
||||
!! Conditional statement
|
||||
if (sum > 25) {
|
||||
show(`Sum is greater than 25`);
|
||||
} else {
|
||||
show(`Sum is less than or equal to 25`);
|
||||
}
|
||||
|
||||
!! Loop statement
|
||||
i = 0;
|
||||
while (i < 5) {
|
||||
show(`i = `, i);
|
||||
i = i + 1;
|
||||
}
|
||||
|
||||
!! Function definition
|
||||
def add(a, b) {
|
||||
return a + b;
|
||||
}
|
||||
|
||||
!! Function call
|
||||
result = add(5, 6);
|
||||
show(`5 + 6 = `, result);
|
||||
|
||||
!! Class definition
|
||||
class Calculator {
|
||||
def multiply(a, b) {
|
||||
return a * b;
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
Run:
|
||||
|
||||
```bash
|
||||
python oraset.py hello.oas
|
||||
```
|
||||
|
||||
## Syntax Guide
|
||||
|
||||
### Comments
|
||||
|
||||
Use `!!` to start a single-line comment:
|
||||
|
||||
```oraset
|
||||
!! This is a comment
|
||||
```
|
||||
|
||||
Use `!*` and `*!` to enclose multi-line comments:
|
||||
|
||||
```oraset
|
||||
!* This is a
|
||||
multi-line comment *!
|
||||
```
|
||||
|
||||
### Built-in Library Functions
|
||||
|
||||
Oraset provides the following built-in library functions:
|
||||
|
||||
#### Math Functions
|
||||
|
||||
| Function | Description | Example |
|
||||
|---------|-------------|--------|
|
||||
| `abs(x)` | Returns the absolute value of x | `abs(-10)` → `10` |
|
||||
| `max(x, y)` | Returns the maximum of x and y | `max(10, 20)` → `20` |
|
||||
| `min(x, y)` | Returns the minimum of x and y | `min(10, 20)` → `10` |
|
||||
| `pow(x, y)` | Returns x raised to the power of y | `pow(2, 3)` → `8` |
|
||||
| `sqrt(x)` | Returns the square root of x (integer part) | `sqrt(16)` → `4` |
|
||||
|
||||
#### String Functions
|
||||
|
||||
| Function | Description | Example |
|
||||
|---------|-------------|--------|
|
||||
| `len(s)` | Returns the length of string s | `len("Hello")` → `5` |
|
||||
| `upper(s)` | Converts string s to uppercase | `upper("Hello")` → `HELLO` |
|
||||
| `lower(s)` | Converts string s to lowercase | `lower("HELLO")` → `hello` |
|
||||
| `substring(s, start, end)` | Returns the substring of s from start to end | `substring("Hello", 0, 3)` → `Hel` |
|
||||
| `startsWith(s, prefix)` | Checks if string s starts with prefix | `startsWith("Hello", "He")` → `1` |
|
||||
| `endsWith(s, suffix)` | Checks if string s ends with suffix | `endsWith("Hello", "lo")` → `1` |
|
||||
| `replace(s, old, new)` | Replaces old with new in string s | `replace("Hello", "He", "Hi")` → `Hiello` |
|
||||
| `split(s, sep)` | Splits string s by separator sep | `split("a,b,c", ",")` → `["a", "b", "c"]` |
|
||||
| `trim(s)` | Removes whitespace from both ends of string s | `trim(" Hello ")` → `Hello` |
|
||||
|
||||
#### Array Functions
|
||||
|
||||
| Function | Description | Example |
|
||||
|---------|-------------|--------|
|
||||
| `array(...items)` | Creates an array with the specified elements | `array("a", "b", "c")` → `["a", "b", "c"]` |
|
||||
| `push(arr, item)` | Adds an element to the array | `push(["a", "b"], "c")` → `["a", "b", "c"]` |
|
||||
| `pop(arr)` | Removes the last element from the array | `pop(["a", "b", "c"])` → `["a", "b"]` |
|
||||
| `indexOf(arr, item)` | Returns the index of item in array arr, or -1 if not found | `indexOf(["a", "b", "c"], "b")` → `1` |
|
||||
|
||||
#### Type Check Functions
|
||||
|
||||
| Function | Description | Example |
|
||||
|---------|-------------|--------|
|
||||
| `is_number(x)` | Checks if x is a number | `is_number("123")` → `1` |
|
||||
| `is_string(x)` | Checks if x is a string | `is_string("Hello")` → `1` |
|
||||
|
||||
#### Other Functions
|
||||
|
||||
| Function | Description | Example |
|
||||
|---------|-------------|--------|
|
||||
| `input(prompt)` | Gets input from the user | `input("Enter a value: ")` |
|
||||
| `int(s)` | Converts string s to an integer | `int("123")` → `123` |
|
||||
| `str(x)` | Converts x to a string | `str(123)` → `"123"` |
|
||||
|
||||
#### File Operation Functions
|
||||
|
||||
| Function | Description | Example |
|
||||
|---------|-------------|--------|
|
||||
| `file_read(filename)` | Reads file content | `file_read("test.txt")` |
|
||||
| `file_write(filename, content)` | Writes content to file | `file_write("test.txt", "Hello")` |
|
||||
| `file_exists(filename)` | Checks if file exists | `file_exists("test.txt")` → `1` (exists) or `0` (does not exist) |
|
||||
|
||||
#### Time Functions
|
||||
|
||||
| Function | Description | Example |
|
||||
|---------|-------------|--------|
|
||||
| `time_now()` | Gets current timestamp | `time_now()` |
|
||||
| `time_sleep(seconds)` | Sleeps for specified seconds | `time_sleep(2)` |
|
||||
|
||||
#### Random Functions
|
||||
|
||||
| Function | Description | Example |
|
||||
|---------|-------------|--------|
|
||||
| `random_int(min, max)` | Generates random integer between min and max | `random_int(1, 100)` |
|
||||
| `random_float()` | Generates random float between 0 and 1 | `random_float()` |
|
||||
|
||||
#### System Functions
|
||||
|
||||
| Function | Description | Example |
|
||||
|---------|-------------|--------|
|
||||
| `system(command)` | Executes system command | `system("dir")` |
|
||||
| `get_env(var_name)` | Gets environment variable | `get_env("PATH")` |
|
||||
|
||||
|
||||
|
||||
### Math Module
|
||||
|
||||
**Note: Using math functions requires importing the math module first**
|
||||
|
||||
```oraset
|
||||
import math
|
||||
```
|
||||
|
||||
| Function | Description | Example |
|
||||
|---------|-------------|--------|
|
||||
| `abs(x)` | Returns the absolute value of x | `abs(-10)` → `10.0` |
|
||||
| `max(x, y)` | Returns the maximum of x and y | `max(10, 20)` → `20.0` |
|
||||
| `min(x, y)` | Returns the minimum of x and y | `min(10, 20)` → `10.0` |
|
||||
| `pow(x, y)` | Returns x raised to the power of y | `pow(2, 3)` → `8.0` |
|
||||
| `sqrt(x)` | Returns the square root of x | `sqrt(16)` → `4.0` |
|
||||
| `sin(x)` | Returns the sine of x (in degrees) | `sin(90)` → `1.0` |
|
||||
| `cos(x)` | Returns the cosine of x (in degrees) | `cos(0)` → `1.0` |
|
||||
| `tan(x)` | Returns the tangent of x (in degrees) | `tan(45)` → `1.0` |
|
||||
| `asin(x)` | Returns the arcsine of x (in degrees) | `asin(1)` → `90.0` |
|
||||
| `acos(x)` | Returns the arccosine of x (in degrees) | `acos(1)` → `0.0` |
|
||||
| `atan(x)` | Returns the arctangent of x (in degrees) | `atan(1)` → `45.0` |
|
||||
| `pi()` | Returns the value of pi | `pi()` → `3.141592653589793` |
|
||||
| `e()` | Returns the value of e | `e()` → `2.718281828459045` |
|
||||
|
||||
#### Network Request Functions
|
||||
|
||||
**Note: Using network request functions requires importing the http module first**
|
||||
|
||||
```oraset
|
||||
import http
|
||||
```
|
||||
|
||||
| Function | Description | Example |
|
||||
|---------|-------------|--------|
|
||||
| `http_get(url)` | Sends an HTTP GET request and returns the response | `http_get("http://example.com")` |
|
||||
| `http_post(url, data)` | Sends an HTTP POST request and returns the response | `http_post("http://httpbin.org/post", "{\"name\": \"Oraset\", \"version\": \"1.0\"}")` |
|
||||
|
||||
### Plugin System
|
||||
|
||||
Oraset supports user-defined plugins. You can place your extension functions in the `includes` folder.
|
||||
|
||||
#### Creating a Plugin
|
||||
|
||||
1. Create a file with `.oraset` extension in the `includes` folder
|
||||
2. Define functions, classes, etc. in the file
|
||||
3. Load the plugin using `import plugin_name` directive
|
||||
|
||||
#### Example
|
||||
|
||||
Create `includes/math_utils.oraset` file:
|
||||
|
||||
```oraset
|
||||
!! Math utilities plugin
|
||||
|
||||
def add(a, b) {
|
||||
return a + b;
|
||||
}
|
||||
|
||||
def subtract(a, b) {
|
||||
return a - b;
|
||||
}
|
||||
```
|
||||
|
||||
Use it in your code:
|
||||
|
||||
```oraset
|
||||
import math_utils
|
||||
|
||||
result = add(10, 20);
|
||||
show(`10 + 20 = `, result);
|
||||
```
|
||||
|
||||
### Variables
|
||||
|
||||
Variable definition and assignment:
|
||||
|
||||
```oraset
|
||||
x = 10; // Integer
|
||||
message = `Hello`; // String
|
||||
```
|
||||
|
||||
### Data Types
|
||||
|
||||
- Integers: `10`, `20`, `30`
|
||||
- Strings: `` `Hello` ``, `` `World` ``
|
||||
|
||||
Strings support the following escape sequences:
|
||||
|
||||
| Escape Sequence | Description |
|
||||
|----------------|-------------|
|
||||
| `\n` | Newline |
|
||||
| `\t` | Tab |
|
||||
| `\r` | Carriage return |
|
||||
| `\\` | Backslash |
|
||||
| `` \` `` | Backtick |
|
||||
|
||||
Examples:
|
||||
|
||||
```oraset
|
||||
// Output multi-line text
|
||||
show(`Line 1\nLine 2`);
|
||||
|
||||
// Output text with tabs
|
||||
show(`Column 1\tColumn 2`);
|
||||
|
||||
// Output text with backslashes
|
||||
show(`Path: C:\\Users\\Name`);
|
||||
```
|
||||
|
||||
### Operators
|
||||
|
||||
#### Arithmetic Operators
|
||||
|
||||
- `+`:Addition
|
||||
- `-`:Subtraction
|
||||
- `*`:Multiplication
|
||||
- `/`:Division (integer division)
|
||||
|
||||
#### Comparison Operators
|
||||
|
||||
- `==`:Equal to
|
||||
- `!=`:Not equal to
|
||||
- `<`:Less than
|
||||
- `<=`:Less than or equal to
|
||||
- `>`:Greater than
|
||||
- `>=`:Greater than or equal to
|
||||
|
||||
#### Logical Operators
|
||||
|
||||
- `&&`:Logical AND
|
||||
- `||`:Logical OR
|
||||
|
||||
#### Assignment Operators
|
||||
|
||||
- `=`:Assignment
|
||||
- `+=`:Add assignment
|
||||
- `-=`:Subtract assignment
|
||||
- `*=`:Multiply assignment
|
||||
- `/=`:Divide assignment
|
||||
|
||||
### Conditional Statements
|
||||
|
||||
```oraset
|
||||
if (condition) {
|
||||
// Code block
|
||||
} else if (condition) {
|
||||
// Code block
|
||||
} else {
|
||||
// Code block
|
||||
}
|
||||
```
|
||||
|
||||
### Loop Statements
|
||||
|
||||
```oraset
|
||||
while (condition) {
|
||||
// Code block
|
||||
}
|
||||
```
|
||||
|
||||
### Function Definition
|
||||
|
||||
```oraset
|
||||
def function_name(parameter1, parameter2, ...) {
|
||||
// Code block
|
||||
return value;
|
||||
}
|
||||
```
|
||||
|
||||
### Function Call
|
||||
|
||||
```oraset
|
||||
result = function_name(arg1, arg2, ...);
|
||||
```
|
||||
|
||||
### Class Definition
|
||||
|
||||
```oraset
|
||||
class ClassName {
|
||||
def method_name(parameter1, parameter2, ...) {
|
||||
// Code block
|
||||
return value;
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
### Output
|
||||
|
||||
Use the `show` function to output content:
|
||||
|
||||
```oraset
|
||||
show(`Hello`);
|
||||
show(`The value is `, x);
|
||||
```
|
||||
|
||||
## Example Code
|
||||
|
||||
### Basic Example
|
||||
|
||||
```oraset
|
||||
// Variables and expressions
|
||||
x = 10;
|
||||
y = 20;
|
||||
sum = x + y;
|
||||
show(`Sum: `, sum);
|
||||
|
||||
// Conditional statements
|
||||
if (sum > 25) {
|
||||
show(`Sum is greater than 25`);
|
||||
} else if (sum == 25) {
|
||||
show(`Sum is exactly 25`);
|
||||
} else {
|
||||
show(`Sum is less than 25`);
|
||||
}
|
||||
|
||||
// Loop statements
|
||||
i = 0;
|
||||
while (i < 5) {
|
||||
show(`i = `, i);
|
||||
i += 1;
|
||||
}
|
||||
```
|
||||
|
||||
### Function Example
|
||||
|
||||
```oraset
|
||||
// Function definition
|
||||
def add(a, b) {
|
||||
return a + b;
|
||||
}
|
||||
|
||||
def multiply(a, b) {
|
||||
return a * b;
|
||||
}
|
||||
|
||||
// Function call
|
||||
result1 = add(10, 20);
|
||||
result2 = multiply(5, 6);
|
||||
show(`10 + 20 = `, result1);
|
||||
show(`5 * 6 = `, result2);
|
||||
|
||||
// Recursive function
|
||||
def factorial(n) {
|
||||
if (n == 0 || n == 1) {
|
||||
return 1;
|
||||
}
|
||||
return n * factorial(n - 1);
|
||||
}
|
||||
|
||||
result = factorial(5);
|
||||
show(`Factorial of 5 is `, result);
|
||||
```
|
||||
|
||||
### Class Example
|
||||
|
||||
```oraset
|
||||
// Class definition
|
||||
class Calculator {
|
||||
def add(a, b) {
|
||||
return a + b;
|
||||
}
|
||||
|
||||
def subtract(a, b) {
|
||||
return a - b;
|
||||
}
|
||||
|
||||
def multiply(a, b) {
|
||||
return a * b;
|
||||
}
|
||||
|
||||
def divide(a, b) {
|
||||
return a / b;
|
||||
}
|
||||
}
|
||||
|
||||
// Note: Class method calls need to be implemented through functions
|
||||
// In the current version, class definitions are stored but not directly instantiated
|
||||
```
|
||||
|
||||
## Project Structure
|
||||
|
||||
```
|
||||
Oraset/
|
||||
├── oraset.py # Core interpreter
|
||||
├── examples/ # Example code
|
||||
│ ├── hello.oas # Basic example
|
||||
│ ├── hello.osp # Packed basic example
|
||||
│ ├── functions.oas # Function example
|
||||
│ └── classes.oas # Class example
|
||||
├── README.md # This tutorial (Chinese)
|
||||
└── README.en_us.md # This tutorial (English)
|
||||
```
|
||||
|
||||
## .osp File Description
|
||||
|
||||
.osp files are the packed file format for Oraset, generated by compressing and encoding .oas files. They have the following features:
|
||||
|
||||
- **Encryption**: .osp files use base64 encoding and zlib compression, making the source code not easily viewable directly
|
||||
- **Cross-platform**: .osp files can be run directly on both Windows and Linux systems
|
||||
- **Convenience**: .osp files are standalone files that can be easily distributed and used
|
||||
|
||||
### Packing .oas Files
|
||||
|
||||
Use the `pack` command to pack .oas files into .osp files:
|
||||
|
||||
```bash
|
||||
python oraset.py pack <filename.oas>
|
||||
```
|
||||
|
||||
This will generate a file with the same name as the .oas file but with the .osp extension.
|
||||
|
||||
### Running .osp Files
|
||||
|
||||
Use the `-osp` parameter to run .osp files:
|
||||
|
||||
```bash
|
||||
python oraset.py -osp <filename.osp>
|
||||
```
|
||||
|
||||
This will automatically decompress and execute the code in the .osp file.
|
||||
|
||||
## Development Notes
|
||||
|
||||
Oraset is implemented in Python and mainly consists of the following components:
|
||||
|
||||
- **Lexer**: Lexical analyzer, responsible for converting source code into tokens
|
||||
- **Parser**: Syntax analyzer, responsible for building abstract syntax tree (AST)
|
||||
- **Interpreter**: Interpreter, responsible for executing AST and generating results
|
||||
|
||||
## Future Plans
|
||||
|
||||
- Support more data types (floating-point numbers, booleans, etc.)
|
||||
- Improve class instantiation and method calls
|
||||
- Support module import
|
||||
- Add standard library
|
||||
- Optimize performance
|
||||
|
||||
## License
|
||||
|
||||
GNU General Public License v3.0
|
||||
@@ -0,0 +1,527 @@
|
||||
# Oraset 编程语言
|
||||
|
||||
Oraset是一种简单的跨平台编程语言,使用Python实现,支持Windows和Linux系统。
|
||||
|
||||
## 特性
|
||||
|
||||
- 跨平台运行(Windows和Linux)
|
||||
- 简洁易懂的语法
|
||||
- 支持变量定义和赋值
|
||||
- 支持表达式计算(算术、比较、逻辑)
|
||||
- 支持条件语句(if、else if、else)
|
||||
- 支持循环语句(while)
|
||||
- 支持函数定义和调用
|
||||
- 支持类定义
|
||||
- 支持输出功能
|
||||
- 支持注释
|
||||
|
||||
## 快速开始
|
||||
|
||||
### 运行环境
|
||||
|
||||
- Python 3.6+
|
||||
|
||||
### 运行方式
|
||||
|
||||
```bash
|
||||
# 运行.oas或.oraset文件
|
||||
python oraset.py <filename.oas|.oraset>
|
||||
|
||||
# 将.oas或.oraset文件打包成.osp文件
|
||||
python oraset.py pack <filename.oas|.oraset>
|
||||
|
||||
# 运行.osp文件
|
||||
python oraset.py -osp <filename.osp>
|
||||
```
|
||||
|
||||
### 示例
|
||||
|
||||
创建一个名为`hello.oas`的文件,内容如下:
|
||||
|
||||
```oraset
|
||||
!! 输出Hello, Oraset!
|
||||
show(`Hello, Oraset!`);
|
||||
|
||||
!! 变量定义和计算
|
||||
x = 10;
|
||||
y = 20;
|
||||
sum = x + y;
|
||||
show(`10 + 20 = `, sum);
|
||||
|
||||
!! 条件语句
|
||||
if (sum > 25) {
|
||||
show(`Sum is greater than 25`);
|
||||
} else {
|
||||
show(`Sum is less than or equal to 25`);
|
||||
}
|
||||
|
||||
!! 循环语句
|
||||
i = 0;
|
||||
while (i < 5) {
|
||||
show(`i = `, i);
|
||||
i = i + 1;
|
||||
}
|
||||
|
||||
!! 函数定义
|
||||
def add(a, b) {
|
||||
return a + b;
|
||||
}
|
||||
|
||||
!! 函数调用
|
||||
result = add(5, 6);
|
||||
show(`5 + 6 = `, result);
|
||||
|
||||
!! 类定义
|
||||
class Calculator {
|
||||
def multiply(a, b) {
|
||||
return a * b;
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
运行:
|
||||
|
||||
```bash
|
||||
python oraset.py hello.oas
|
||||
```
|
||||
|
||||
## 语法指南
|
||||
|
||||
### 注释
|
||||
|
||||
使用`!!`开始单行注释:
|
||||
|
||||
```oraset
|
||||
!! 这是一个注释
|
||||
```
|
||||
|
||||
使用`!*`和`*!`包围多行注释:
|
||||
|
||||
```oraset
|
||||
!* 这是一个
|
||||
多行注释 *!
|
||||
```
|
||||
|
||||
### 内置库函数
|
||||
|
||||
Oraset提供了以下内置库函数:
|
||||
|
||||
#### 数学函数
|
||||
|
||||
| 函数名 | 描述 | 示例 |
|
||||
|-------|------|------|
|
||||
| `abs(x)` | 返回x的绝对值 | `abs(-10)` → `10` |
|
||||
| `max(x, y)` | 返回x和y中的最大值 | `max(10, 20)` → `20` |
|
||||
| `min(x, y)` | 返回x和y中的最小值 | `min(10, 20)` → `10` |
|
||||
| `pow(x, y)` | 返回x的y次方 | `pow(2, 3)` → `8` |
|
||||
| `sqrt(x)` | 返回x的平方根(取整数部分) | `sqrt(16)` → `4` |
|
||||
|
||||
#### 字符串函数
|
||||
|
||||
| 函数名 | 描述 | 示例 |
|
||||
|-------|------|------|
|
||||
| `len(s)` | 返回字符串s的长度 | `len("Hello")` → `5` |
|
||||
| `upper(s)` | 将字符串s转换为大写 | `upper("Hello")` → `HELLO` |
|
||||
| `lower(s)` | 将字符串s转换为小写 | `lower("HELLO")` → `hello` |
|
||||
| `substring(s, start, end)` | 返回字符串s从start到end的子串 | `substring("Hello", 0, 3)` → `Hel` |
|
||||
| `startsWith(s, prefix)` | 检查字符串s是否以prefix开头 | `startsWith("Hello", "He")` → `1` |
|
||||
| `endsWith(s, suffix)` | 检查字符串s是否以suffix结尾 | `endsWith("Hello", "lo")` → `1` |
|
||||
| `replace(s, old, new)` | 替换字符串s中的old为new | `replace("Hello", "He", "Hi")` → `Hiello` |
|
||||
| `split(s, sep)` | 以sep为分隔符分割字符串s | `split("a,b,c", ",")` → `["a", "b", "c"]` |
|
||||
| `trim(s)` | 去除字符串s首尾的空白 | `trim(" Hello ")` → `Hello` |
|
||||
|
||||
#### 数组函数
|
||||
|
||||
| 函数名 | 描述 | 示例 |
|
||||
|-------|------|------|
|
||||
| `array(...items)` | 创建一个包含指定元素的数组 | `array("a", "b", "c")` → `["a", "b", "c"]` |
|
||||
| `push(arr, item)` | 向数组arr添加一个元素 | `push(["a", "b"], "c")` → `["a", "b", "c"]` |
|
||||
| `pop(arr)` | 从数组arr中移除最后一个元素 | `pop(["a", "b", "c"])` → `["a", "b"]` |
|
||||
| `indexOf(arr, item)` | 返回元素item在数组arr中的索引,若不存在则返回-1 | `indexOf(["a", "b", "c"], "b")` → `1` |
|
||||
|
||||
#### 类型检查函数
|
||||
|
||||
| 函数名 | 描述 | 示例 |
|
||||
|-------|------|------|
|
||||
| `is_number(x)` | 检查x是否为数字 | `is_number("123")` → `1` |
|
||||
| `is_string(x)` | 检查x是否为字符串 | `is_string("Hello")` → `1` |
|
||||
|
||||
#### 其他函数
|
||||
|
||||
| 函数名 | 描述 | 示例 |
|
||||
|-------|------|------|
|
||||
| `input(prompt)` | 从用户输入获取值 | `input("请输入: ")` |
|
||||
| `int(s)` | 将字符串s转换为整数 | `int("123")` → `123` |
|
||||
| `str(x)` | 将x转换为字符串 | `str(123)` → `"123"` |
|
||||
|
||||
#### 文件操作函数
|
||||
|
||||
| 函数名 | 描述 | 示例 |
|
||||
|-------|------|------|
|
||||
| `file_read(filename)` | 读取文件内容 | `file_read("test.txt")` |
|
||||
| `file_write(filename, content)` | 写入内容到文件 | `file_write("test.txt", "Hello")` |
|
||||
| `file_exists(filename)` | 检查文件是否存在 | `file_exists("test.txt")` → `1` (存在) 或 `0` (不存在) |
|
||||
|
||||
#### 时间函数
|
||||
|
||||
| 函数名 | 描述 | 示例 |
|
||||
|-------|------|------|
|
||||
| `time_now()` | 获取当前时间戳 | `time_now()` |
|
||||
| `time_sleep(seconds)` | 暂停指定秒数 | `time_sleep(2)` |
|
||||
|
||||
#### 随机数函数
|
||||
|
||||
| 函数名 | 描述 | 示例 |
|
||||
|-------|------|------|
|
||||
| `random_int(min, max)` | 生成指定范围内的随机整数 | `random_int(1, 100)` |
|
||||
| `random_float()` | 生成0-1之间的随机浮点数 | `random_float()` |
|
||||
|
||||
#### 系统函数
|
||||
|
||||
| 函数名 | 描述 | 示例 |
|
||||
|-------|------|------|
|
||||
| `system(command)` | 执行系统命令 | `system("dir")` |
|
||||
| `get_env(var_name)` | 获取环境变量 | `get_env("PATH")` |
|
||||
|
||||
|
||||
|
||||
### 数学模块
|
||||
|
||||
**注意:使用数学函数需要先导入math模块**
|
||||
|
||||
```oraset
|
||||
import math
|
||||
```
|
||||
|
||||
| 函数名 | 描述 | 示例 |
|
||||
|-------|------|------|
|
||||
| `abs(x)` | 返回x的绝对值 | `abs(-10)` → `10.0` |
|
||||
| `max(x, y)` | 返回x和y中的最大值 | `max(10, 20)` → `20.0` |
|
||||
| `min(x, y)` | 返回x和y中的最小值 | `min(10, 20)` → `10.0` |
|
||||
| `pow(x, y)` | 返回x的y次方 | `pow(2, 3)` → `8.0` |
|
||||
| `sqrt(x)` | 返回x的平方根 | `sqrt(16)` → `4.0` |
|
||||
| `sin(x)` | 返回x(度)的正弦值 | `sin(90)` → `1.0` |
|
||||
| `cos(x)` | 返回x(度)的余弦值 | `cos(0)` → `1.0` |
|
||||
| `tan(x)` | 返回x(度)的正切值 | `tan(45)` → `1.0` |
|
||||
| `asin(x)` | 返回x的反正弦值(度) | `asin(1)` → `90.0` |
|
||||
| `acos(x)` | 返回x的反余弦值(度) | `acos(1)` → `0.0` |
|
||||
| `atan(x)` | 返回x的反正切值(度) | `atan(1)` → `45.0` |
|
||||
| `pi()` | 返回圆周率π的值 | `pi()` → `3.141592653589793` |
|
||||
| `e()` | 返回自然常数e的值 | `e()` → `2.718281828459045` |
|
||||
|
||||
#### 网络请求函数
|
||||
|
||||
**注意:使用网络请求函数需要先导入http模块**
|
||||
|
||||
```oraset
|
||||
import http
|
||||
```
|
||||
|
||||
| 函数名 | 描述 | 示例 |
|
||||
|-------|------|------|
|
||||
| `http_get(url)` | 发送HTTP GET请求并返回响应内容 | `http_get("http://example.com")` |
|
||||
| `http_post(url, data)` | 发送HTTP POST请求并返回响应内容 | `http_post("http://httpbin.org/post", "{\"name\": \"Oraset\", \"version\": \"1.0\"}")` |
|
||||
|
||||
### 插件系统
|
||||
|
||||
Oraset支持用户自定义插件,您可以将自己的扩展功能放在`includes`文件夹中。
|
||||
|
||||
#### 创建插件
|
||||
|
||||
1. 在`includes`文件夹中创建一个以`.oraset`为后缀的文件
|
||||
2. 在文件中定义函数、类等
|
||||
3. 使用`import 插件名`指令加载插件
|
||||
|
||||
#### 示例
|
||||
|
||||
创建`includes/math_utils.oraset`文件:
|
||||
|
||||
```oraset
|
||||
!! 数学工具插件
|
||||
|
||||
def add(a, b) {
|
||||
return a + b;
|
||||
}
|
||||
|
||||
def subtract(a, b) {
|
||||
return a - b;
|
||||
}
|
||||
```
|
||||
|
||||
在您的代码中使用:
|
||||
|
||||
```oraset
|
||||
import math_utils
|
||||
|
||||
result = add(10, 20);
|
||||
show(`10 + 20 = `, result);
|
||||
```
|
||||
|
||||
### 变量
|
||||
|
||||
变量定义和赋值:
|
||||
|
||||
```oraset
|
||||
x = 10; // 整数
|
||||
message = `Hello`; // 字符串
|
||||
```
|
||||
|
||||
### 数据类型
|
||||
|
||||
- 整数:`10`, `20`, `30`
|
||||
- 字符串:`` `Hello` ``, `` `World` ``
|
||||
|
||||
字符串支持以下转义符:
|
||||
|
||||
| 转义符 | 描述 |
|
||||
|-------|------|
|
||||
| `\n` | 换行符 |
|
||||
| `\t` | 制表符 |
|
||||
| `\r` | 回车符 |
|
||||
| `\\` | 反斜杠 |
|
||||
| `` \` `` | 反引号 |
|
||||
|
||||
示例:
|
||||
|
||||
```oraset
|
||||
// 输出多行文本
|
||||
show(`Line 1\nLine 2`);
|
||||
|
||||
// 输出带制表符的文本
|
||||
show(`Column 1\tColumn 2`);
|
||||
|
||||
// 输出包含反斜杠的文本
|
||||
show(`Path: C:\\Users\\Name`);
|
||||
```
|
||||
|
||||
### 运算符
|
||||
|
||||
#### 算术运算符
|
||||
|
||||
- `+`:加法
|
||||
- `-`:减法
|
||||
- `*`:乘法
|
||||
- `/`:除法(整数除法)
|
||||
|
||||
#### 比较运算符
|
||||
|
||||
- `==`:等于
|
||||
- `!=`:不等于
|
||||
- `<`:小于
|
||||
- `<=`:小于等于
|
||||
- `>`:大于
|
||||
- `>=`:大于等于
|
||||
|
||||
#### 逻辑运算符
|
||||
|
||||
- `&&`:逻辑与
|
||||
- `||`:逻辑或
|
||||
|
||||
#### 赋值运算符
|
||||
|
||||
- `=`:赋值
|
||||
- `+=`:加赋值
|
||||
- `-=`:减赋值
|
||||
- `*=`:乘赋值
|
||||
- `/=`:除赋值
|
||||
|
||||
### 条件语句
|
||||
|
||||
```oraset
|
||||
if (condition) {
|
||||
// 代码块
|
||||
} else if (condition) {
|
||||
// 代码块
|
||||
} else {
|
||||
// 代码块
|
||||
}
|
||||
```
|
||||
|
||||
### 循环语句
|
||||
|
||||
```oraset
|
||||
while (condition) {
|
||||
// 代码块
|
||||
}
|
||||
```
|
||||
|
||||
### 函数定义
|
||||
|
||||
```oraset
|
||||
def function_name(parameter1, parameter2, ...) {
|
||||
// 代码块
|
||||
return value;
|
||||
}
|
||||
```
|
||||
|
||||
### 函数调用
|
||||
|
||||
```oraset
|
||||
result = function_name(arg1, arg2, ...);
|
||||
```
|
||||
|
||||
### 类定义
|
||||
|
||||
```oraset
|
||||
class ClassName {
|
||||
def method_name(parameter1, parameter2, ...) {
|
||||
// 代码块
|
||||
return value;
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
### 输出
|
||||
|
||||
使用`show`函数输出内容:
|
||||
|
||||
```oraset
|
||||
show(`Hello`);
|
||||
show(`The value is `, x);
|
||||
```
|
||||
|
||||
## 示例代码
|
||||
|
||||
### 基础示例
|
||||
|
||||
```oraset
|
||||
// 变量和表达式
|
||||
x = 10;
|
||||
y = 20;
|
||||
sum = x + y;
|
||||
show(`Sum: `, sum);
|
||||
|
||||
// 条件语句
|
||||
if (sum > 25) {
|
||||
show(`Sum is greater than 25`);
|
||||
} else if (sum == 25) {
|
||||
show(`Sum is exactly 25`);
|
||||
} else {
|
||||
show(`Sum is less than 25`);
|
||||
}
|
||||
|
||||
// 循环语句
|
||||
i = 0;
|
||||
while (i < 5) {
|
||||
show(`i = `, i);
|
||||
i += 1;
|
||||
}
|
||||
```
|
||||
|
||||
### 函数示例
|
||||
|
||||
```oraset
|
||||
// 函数定义
|
||||
def add(a, b) {
|
||||
return a + b;
|
||||
}
|
||||
|
||||
def multiply(a, b) {
|
||||
return a * b;
|
||||
}
|
||||
|
||||
// 函数调用
|
||||
result1 = add(10, 20);
|
||||
result2 = multiply(5, 6);
|
||||
show(`10 + 20 = `, result1);
|
||||
show(`5 * 6 = `, result2);
|
||||
|
||||
// 递归函数
|
||||
def factorial(n) {
|
||||
if (n == 0 || n == 1) {
|
||||
return 1;
|
||||
}
|
||||
return n * factorial(n - 1);
|
||||
}
|
||||
|
||||
result = factorial(5);
|
||||
show(`Factorial of 5 is `, result);
|
||||
```
|
||||
|
||||
### 类示例
|
||||
|
||||
```oraset
|
||||
// 类定义
|
||||
class Calculator {
|
||||
def add(a, b) {
|
||||
return a + b;
|
||||
}
|
||||
|
||||
def subtract(a, b) {
|
||||
return a - b;
|
||||
}
|
||||
|
||||
def multiply(a, b) {
|
||||
return a * b;
|
||||
}
|
||||
|
||||
def divide(a, b) {
|
||||
return a / b;
|
||||
}
|
||||
}
|
||||
|
||||
// 注意:类方法的调用需要通过函数实现
|
||||
// 目前版本中,类定义会被存储但不会直接实例化
|
||||
```
|
||||
|
||||
## 项目结构
|
||||
|
||||
```
|
||||
Oraset/
|
||||
├── oraset.py # 核心解释器
|
||||
├── examples/ # 示例代码
|
||||
│ ├── hello.oas # 基础示例
|
||||
│ ├── hello.osp # 打包后的基础示例
|
||||
│ ├── functions.oas # 函数示例
|
||||
│ └── classes.oas # 类示例
|
||||
├── README.md # 本教程(中文)
|
||||
└── README.en_us.md # 本教程(英文)
|
||||
```
|
||||
|
||||
## .osp文件说明
|
||||
|
||||
.osp文件是Oraset的打包文件格式,它是通过对.oas文件进行压缩和编码生成的,具有以下特点:
|
||||
|
||||
- **加密性**:.osp文件使用base64编码和zlib压缩,使得源代码不易被直接查看
|
||||
- **跨平台**:.osp文件可以在Windows和Linux系统上直接运行
|
||||
- **便捷性**:.osp文件是一个独立的文件,可以方便地分发和使用
|
||||
|
||||
### 打包.oas文件
|
||||
|
||||
使用`pack`命令将.oas文件打包成.osp文件:
|
||||
|
||||
```bash
|
||||
python oraset.py pack <filename.oas>
|
||||
```
|
||||
|
||||
这将生成一个与.oas文件同名但扩展名为.osp的文件。
|
||||
|
||||
### 运行.osp文件
|
||||
|
||||
使用`-osp`参数运行.osp文件:
|
||||
|
||||
```bash
|
||||
python oraset.py -osp <filename.osp>
|
||||
```
|
||||
|
||||
这将自动解压和执行.osp文件中的代码。
|
||||
|
||||
## 开发说明
|
||||
|
||||
Oraset使用Python实现,主要包含以下组件:
|
||||
|
||||
- **Lexer**:词法分析器,负责将源代码转换为词法单元
|
||||
- **Parser**:语法分析器,负责构建抽象语法树(AST)
|
||||
- **Interpreter**:解释器,负责执行AST并生成结果
|
||||
|
||||
## 未来计划
|
||||
|
||||
- 支持更多数据类型(浮点数、布尔值等)
|
||||
- 完善类的实例化和方法调用
|
||||
- 支持模块导入
|
||||
- 添加标准库
|
||||
- 优化性能
|
||||
|
||||
## 许可证
|
||||
|
||||
GNU General Public License v3.0
|
||||
Binary file not shown.
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,260 @@
|
||||
('F:\\Oraset\\dist\\oraset.exe',
|
||||
True,
|
||||
False,
|
||||
False,
|
||||
'F:\\Python\\3.13.13(64-bit)-2026.4.7\\Lib\\site-packages\\PyInstaller\\bootloader\\images\\icon-console.ico',
|
||||
None,
|
||||
False,
|
||||
False,
|
||||
b'<?xml version="1.0" encoding="UTF-8" standalone="yes"?>\n<assembly xmlns='
|
||||
b'"urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0">\n <trustInfo x'
|
||||
b'mlns="urn:schemas-microsoft-com:asm.v3">\n <security>\n <requested'
|
||||
b'Privileges>\n <requestedExecutionLevel level="asInvoker" uiAccess='
|
||||
b'"false"/>\n </requestedPrivileges>\n </security>\n </trustInfo>\n '
|
||||
b'<compatibility xmlns="urn:schemas-microsoft-com:compatibility.v1">\n <'
|
||||
b'application>\n <supportedOS Id="{e2011457-1546-43c5-a5fe-008deee3d3f'
|
||||
b'0}"/>\n <supportedOS Id="{35138b9a-5d96-4fbd-8e2d-a2440225f93a}"/>\n '
|
||||
b' <supportedOS Id="{4a2f28e3-53b9-4441-ba9c-d69d4a4a6e38}"/>\n <s'
|
||||
b'upportedOS Id="{1f676c76-80e1-4239-95bb-83d0f6d0da78}"/>\n <supporte'
|
||||
b'dOS Id="{8e0f7a12-bfb3-4fe8-b9a5-48fd50a15a9a}"/>\n </application>\n <'
|
||||
b'/compatibility>\n <application xmlns="urn:schemas-microsoft-com:asm.v3">'
|
||||
b'\n <windowsSettings>\n <longPathAware xmlns="http://schemas.micros'
|
||||
b'oft.com/SMI/2016/WindowsSettings">true</longPathAware>\n </windowsSett'
|
||||
b'ings>\n </application>\n <dependency>\n <dependentAssembly>\n <ass'
|
||||
b'emblyIdentity type="win32" name="Microsoft.Windows.Common-Controls" version='
|
||||
b'"6.0.0.0" processorArchitecture="*" publicKeyToken="6595b64144ccf1df" langua'
|
||||
b'ge="*"/>\n </dependentAssembly>\n </dependency>\n</assembly>',
|
||||
True,
|
||||
False,
|
||||
None,
|
||||
None,
|
||||
None,
|
||||
'F:\\Oraset\\build\\oraset\\oraset.pkg',
|
||||
[('pyi-contents-directory _internal', '', 'OPTION'),
|
||||
('PYZ-00.pyz', 'F:\\Oraset\\build\\oraset\\PYZ-00.pyz', 'PYZ'),
|
||||
('struct', 'F:\\Oraset\\build\\oraset\\localpycs\\struct.pyc', 'PYMODULE'),
|
||||
('pyimod01_archive',
|
||||
'F:\\Oraset\\build\\oraset\\localpycs\\pyimod01_archive.pyc',
|
||||
'PYMODULE'),
|
||||
('pyimod02_importers',
|
||||
'F:\\Oraset\\build\\oraset\\localpycs\\pyimod02_importers.pyc',
|
||||
'PYMODULE'),
|
||||
('pyimod03_ctypes',
|
||||
'F:\\Oraset\\build\\oraset\\localpycs\\pyimod03_ctypes.pyc',
|
||||
'PYMODULE'),
|
||||
('pyimod04_pywin32',
|
||||
'F:\\Oraset\\build\\oraset\\localpycs\\pyimod04_pywin32.pyc',
|
||||
'PYMODULE'),
|
||||
('pyiboot01_bootstrap',
|
||||
'F:\\Python\\3.13.13(64-bit)-2026.4.7\\Lib\\site-packages\\PyInstaller\\loader\\pyiboot01_bootstrap.py',
|
||||
'PYSOURCE'),
|
||||
('pyi_rth_inspect',
|
||||
'F:\\Python\\3.13.13(64-bit)-2026.4.7\\Lib\\site-packages\\PyInstaller\\hooks\\rthooks\\pyi_rth_inspect.py',
|
||||
'PYSOURCE'),
|
||||
('oraset', 'F:\\Oraset\\oraset.py', 'PYSOURCE'),
|
||||
('python313.dll',
|
||||
'F:\\Python\\3.13.13(64-bit)-2026.4.7\\python313.dll',
|
||||
'BINARY'),
|
||||
('select.pyd',
|
||||
'F:\\Python\\3.13.13(64-bit)-2026.4.7\\DLLs\\select.pyd',
|
||||
'EXTENSION'),
|
||||
('_socket.pyd',
|
||||
'F:\\Python\\3.13.13(64-bit)-2026.4.7\\DLLs\\_socket.pyd',
|
||||
'EXTENSION'),
|
||||
('_lzma.pyd',
|
||||
'F:\\Python\\3.13.13(64-bit)-2026.4.7\\DLLs\\_lzma.pyd',
|
||||
'EXTENSION'),
|
||||
('_bz2.pyd',
|
||||
'F:\\Python\\3.13.13(64-bit)-2026.4.7\\DLLs\\_bz2.pyd',
|
||||
'EXTENSION'),
|
||||
('unicodedata.pyd',
|
||||
'F:\\Python\\3.13.13(64-bit)-2026.4.7\\DLLs\\unicodedata.pyd',
|
||||
'EXTENSION'),
|
||||
('_ssl.pyd',
|
||||
'F:\\Python\\3.13.13(64-bit)-2026.4.7\\DLLs\\_ssl.pyd',
|
||||
'EXTENSION'),
|
||||
('_hashlib.pyd',
|
||||
'F:\\Python\\3.13.13(64-bit)-2026.4.7\\DLLs\\_hashlib.pyd',
|
||||
'EXTENSION'),
|
||||
('_decimal.pyd',
|
||||
'F:\\Python\\3.13.13(64-bit)-2026.4.7\\DLLs\\_decimal.pyd',
|
||||
'EXTENSION'),
|
||||
('VCRUNTIME140.dll',
|
||||
'F:\\Python\\3.13.13(64-bit)-2026.4.7\\VCRUNTIME140.dll',
|
||||
'BINARY'),
|
||||
('api-ms-win-crt-conio-l1-1-0.dll',
|
||||
'D:\\Program Files\\Java\\jdk-21.0.10\\bin\\api-ms-win-crt-conio-l1-1-0.dll',
|
||||
'BINARY'),
|
||||
('api-ms-win-crt-string-l1-1-0.dll',
|
||||
'D:\\Program '
|
||||
'Files\\Java\\jdk-21.0.10\\bin\\api-ms-win-crt-string-l1-1-0.dll',
|
||||
'BINARY'),
|
||||
('api-ms-win-crt-convert-l1-1-0.dll',
|
||||
'D:\\Program '
|
||||
'Files\\Java\\jdk-21.0.10\\bin\\api-ms-win-crt-convert-l1-1-0.dll',
|
||||
'BINARY'),
|
||||
('api-ms-win-crt-process-l1-1-0.dll',
|
||||
'D:\\Program '
|
||||
'Files\\Java\\jdk-21.0.10\\bin\\api-ms-win-crt-process-l1-1-0.dll',
|
||||
'BINARY'),
|
||||
('api-ms-win-crt-time-l1-1-0.dll',
|
||||
'D:\\Program Files\\Java\\jdk-21.0.10\\bin\\api-ms-win-crt-time-l1-1-0.dll',
|
||||
'BINARY'),
|
||||
('api-ms-win-crt-stdio-l1-1-0.dll',
|
||||
'D:\\Program Files\\Java\\jdk-21.0.10\\bin\\api-ms-win-crt-stdio-l1-1-0.dll',
|
||||
'BINARY'),
|
||||
('api-ms-win-crt-heap-l1-1-0.dll',
|
||||
'D:\\Program Files\\Java\\jdk-21.0.10\\bin\\api-ms-win-crt-heap-l1-1-0.dll',
|
||||
'BINARY'),
|
||||
('api-ms-win-crt-filesystem-l1-1-0.dll',
|
||||
'D:\\Program '
|
||||
'Files\\Java\\jdk-21.0.10\\bin\\api-ms-win-crt-filesystem-l1-1-0.dll',
|
||||
'BINARY'),
|
||||
('api-ms-win-crt-locale-l1-1-0.dll',
|
||||
'D:\\Program '
|
||||
'Files\\Java\\jdk-21.0.10\\bin\\api-ms-win-crt-locale-l1-1-0.dll',
|
||||
'BINARY'),
|
||||
('api-ms-win-crt-runtime-l1-1-0.dll',
|
||||
'D:\\Program '
|
||||
'Files\\Java\\jdk-21.0.10\\bin\\api-ms-win-crt-runtime-l1-1-0.dll',
|
||||
'BINARY'),
|
||||
('api-ms-win-crt-environment-l1-1-0.dll',
|
||||
'D:\\Program '
|
||||
'Files\\Java\\jdk-21.0.10\\bin\\api-ms-win-crt-environment-l1-1-0.dll',
|
||||
'BINARY'),
|
||||
('api-ms-win-crt-math-l1-1-0.dll',
|
||||
'D:\\Program Files\\Java\\jdk-21.0.10\\bin\\api-ms-win-crt-math-l1-1-0.dll',
|
||||
'BINARY'),
|
||||
('libssl-3.dll',
|
||||
'F:\\Python\\3.13.13(64-bit)-2026.4.7\\DLLs\\libssl-3.dll',
|
||||
'BINARY'),
|
||||
('libcrypto-3.dll',
|
||||
'F:\\Python\\3.13.13(64-bit)-2026.4.7\\DLLs\\libcrypto-3.dll',
|
||||
'BINARY'),
|
||||
('ucrtbase.dll',
|
||||
'D:\\Program Files\\Java\\jdk-21.0.10\\bin\\ucrtbase.dll',
|
||||
'BINARY'),
|
||||
('api-ms-win-crt-utility-l1-1-0.dll',
|
||||
'D:\\Program '
|
||||
'Files\\Java\\jdk-21.0.10\\bin\\api-ms-win-crt-utility-l1-1-0.dll',
|
||||
'BINARY'),
|
||||
('api-ms-win-core-profile-l1-1-0.dll',
|
||||
'D:\\Program '
|
||||
'Files\\Java\\jdk-21.0.10\\bin\\api-ms-win-core-profile-l1-1-0.dll',
|
||||
'BINARY'),
|
||||
('api-ms-win-core-heap-l1-1-0.dll',
|
||||
'D:\\Program Files\\Java\\jdk-21.0.10\\bin\\api-ms-win-core-heap-l1-1-0.dll',
|
||||
'BINARY'),
|
||||
('api-ms-win-core-kernel32-legacy-l1-1-1.dll',
|
||||
'D:\\Program '
|
||||
'Files\\Java\\jdk-21.0.10\\bin\\api-ms-win-core-kernel32-legacy-l1-1-1.dll',
|
||||
'BINARY'),
|
||||
('api-ms-win-core-sysinfo-l1-2-0.dll',
|
||||
'D:\\Program '
|
||||
'Files\\Java\\jdk-21.0.10\\bin\\api-ms-win-core-sysinfo-l1-2-0.dll',
|
||||
'BINARY'),
|
||||
('api-ms-win-core-processthreads-l1-1-1.dll',
|
||||
'D:\\Program '
|
||||
'Files\\Java\\jdk-21.0.10\\bin\\api-ms-win-core-processthreads-l1-1-1.dll',
|
||||
'BINARY'),
|
||||
('api-ms-win-core-string-l1-1-0.dll',
|
||||
'D:\\Program '
|
||||
'Files\\Java\\jdk-21.0.10\\bin\\api-ms-win-core-string-l1-1-0.dll',
|
||||
'BINARY'),
|
||||
('api-ms-win-core-datetime-l1-1-0.dll',
|
||||
'D:\\Program '
|
||||
'Files\\Java\\jdk-21.0.10\\bin\\api-ms-win-core-datetime-l1-1-0.dll',
|
||||
'BINARY'),
|
||||
('api-ms-win-core-fibers-l1-1-1.dll',
|
||||
'D:\\Program '
|
||||
'Files\\Java\\jdk-21.0.10\\bin\\api-ms-win-core-fibers-l1-1-1.dll',
|
||||
'BINARY'),
|
||||
('api-ms-win-core-errorhandling-l1-1-0.dll',
|
||||
'D:\\Program '
|
||||
'Files\\Java\\jdk-21.0.10\\bin\\api-ms-win-core-errorhandling-l1-1-0.dll',
|
||||
'BINARY'),
|
||||
('api-ms-win-core-util-l1-1-0.dll',
|
||||
'D:\\Program Files\\Java\\jdk-21.0.10\\bin\\api-ms-win-core-util-l1-1-0.dll',
|
||||
'BINARY'),
|
||||
('api-ms-win-core-interlocked-l1-1-0.dll',
|
||||
'D:\\Program '
|
||||
'Files\\Java\\jdk-21.0.10\\bin\\api-ms-win-core-interlocked-l1-1-0.dll',
|
||||
'BINARY'),
|
||||
('api-ms-win-core-file-l2-1-0.dll',
|
||||
'D:\\Program Files\\Java\\jdk-21.0.10\\bin\\api-ms-win-core-file-l2-1-0.dll',
|
||||
'BINARY'),
|
||||
('api-ms-win-core-processthreads-l1-1-0.dll',
|
||||
'D:\\Program '
|
||||
'Files\\Java\\jdk-21.0.10\\bin\\api-ms-win-core-processthreads-l1-1-0.dll',
|
||||
'BINARY'),
|
||||
('api-ms-win-core-timezone-l1-1-0.dll',
|
||||
'D:\\Program '
|
||||
'Files\\Java\\jdk-21.0.10\\bin\\api-ms-win-core-timezone-l1-1-0.dll',
|
||||
'BINARY'),
|
||||
('api-ms-win-core-libraryloader-l1-1-0.dll',
|
||||
'D:\\Program '
|
||||
'Files\\Java\\jdk-21.0.10\\bin\\api-ms-win-core-libraryloader-l1-1-0.dll',
|
||||
'BINARY'),
|
||||
('api-ms-win-core-localization-l1-2-0.dll',
|
||||
'D:\\Program '
|
||||
'Files\\Java\\jdk-21.0.10\\bin\\api-ms-win-core-localization-l1-2-0.dll',
|
||||
'BINARY'),
|
||||
('api-ms-win-core-file-l1-2-0.dll',
|
||||
'D:\\Program Files\\Java\\jdk-21.0.10\\bin\\api-ms-win-core-file-l1-2-0.dll',
|
||||
'BINARY'),
|
||||
('api-ms-win-core-synch-l1-1-0.dll',
|
||||
'D:\\Program '
|
||||
'Files\\Java\\jdk-21.0.10\\bin\\api-ms-win-core-synch-l1-1-0.dll',
|
||||
'BINARY'),
|
||||
('api-ms-win-core-file-l1-1-0.dll',
|
||||
'D:\\Program Files\\Java\\jdk-21.0.10\\bin\\api-ms-win-core-file-l1-1-0.dll',
|
||||
'BINARY'),
|
||||
('api-ms-win-core-rtlsupport-l1-1-0.dll',
|
||||
'D:\\Program '
|
||||
'Files\\Java\\jdk-21.0.10\\bin\\api-ms-win-core-rtlsupport-l1-1-0.dll',
|
||||
'BINARY'),
|
||||
('api-ms-win-core-memory-l1-1-0.dll',
|
||||
'D:\\Program '
|
||||
'Files\\Java\\jdk-21.0.10\\bin\\api-ms-win-core-memory-l1-1-0.dll',
|
||||
'BINARY'),
|
||||
('api-ms-win-core-handle-l1-1-0.dll',
|
||||
'D:\\Program '
|
||||
'Files\\Java\\jdk-21.0.10\\bin\\api-ms-win-core-handle-l1-1-0.dll',
|
||||
'BINARY'),
|
||||
('api-ms-win-core-processenvironment-l1-1-0.dll',
|
||||
'D:\\Program '
|
||||
'Files\\Java\\jdk-21.0.10\\bin\\api-ms-win-core-processenvironment-l1-1-0.dll',
|
||||
'BINARY'),
|
||||
('api-ms-win-core-synch-l1-2-0.dll',
|
||||
'D:\\Program '
|
||||
'Files\\Java\\jdk-21.0.10\\bin\\api-ms-win-core-synch-l1-2-0.dll',
|
||||
'BINARY'),
|
||||
('api-ms-win-core-fibers-l1-1-0.dll',
|
||||
'D:\\Program '
|
||||
'Files\\Java\\jdk-21.0.10\\bin\\api-ms-win-core-fibers-l1-1-0.dll',
|
||||
'BINARY'),
|
||||
('api-ms-win-core-namedpipe-l1-1-0.dll',
|
||||
'D:\\Program '
|
||||
'Files\\Java\\jdk-21.0.10\\bin\\api-ms-win-core-namedpipe-l1-1-0.dll',
|
||||
'BINARY'),
|
||||
('api-ms-win-core-sysinfo-l1-1-0.dll',
|
||||
'D:\\Program '
|
||||
'Files\\Java\\jdk-21.0.10\\bin\\api-ms-win-core-sysinfo-l1-1-0.dll',
|
||||
'BINARY'),
|
||||
('api-ms-win-core-console-l1-1-0.dll',
|
||||
'D:\\Program '
|
||||
'Files\\Java\\jdk-21.0.10\\bin\\api-ms-win-core-console-l1-1-0.dll',
|
||||
'BINARY'),
|
||||
('api-ms-win-core-debug-l1-1-0.dll',
|
||||
'D:\\Program '
|
||||
'Files\\Java\\jdk-21.0.10\\bin\\api-ms-win-core-debug-l1-1-0.dll',
|
||||
'BINARY'),
|
||||
('base_library.zip', 'F:\\Oraset\\build\\oraset\\base_library.zip', 'DATA')],
|
||||
[],
|
||||
False,
|
||||
False,
|
||||
1776948518,
|
||||
[('run.exe',
|
||||
'F:\\Python\\3.13.13(64-bit)-2026.4.7\\Lib\\site-packages\\PyInstaller\\bootloader\\Windows-64bit-intel\\run.exe',
|
||||
'EXECUTABLE')],
|
||||
'F:\\Python\\3.13.13(64-bit)-2026.4.7\\python313.dll')
|
||||
@@ -0,0 +1,238 @@
|
||||
('F:\\Oraset\\build\\oraset\\oraset.pkg',
|
||||
{'BINARY': True,
|
||||
'DATA': True,
|
||||
'EXECUTABLE': True,
|
||||
'EXTENSION': True,
|
||||
'PYMODULE': True,
|
||||
'PYSOURCE': True,
|
||||
'PYZ': False,
|
||||
'SPLASH': True,
|
||||
'SYMLINK': False},
|
||||
[('pyi-contents-directory _internal', '', 'OPTION'),
|
||||
('PYZ-00.pyz', 'F:\\Oraset\\build\\oraset\\PYZ-00.pyz', 'PYZ'),
|
||||
('struct', 'F:\\Oraset\\build\\oraset\\localpycs\\struct.pyc', 'PYMODULE'),
|
||||
('pyimod01_archive',
|
||||
'F:\\Oraset\\build\\oraset\\localpycs\\pyimod01_archive.pyc',
|
||||
'PYMODULE'),
|
||||
('pyimod02_importers',
|
||||
'F:\\Oraset\\build\\oraset\\localpycs\\pyimod02_importers.pyc',
|
||||
'PYMODULE'),
|
||||
('pyimod03_ctypes',
|
||||
'F:\\Oraset\\build\\oraset\\localpycs\\pyimod03_ctypes.pyc',
|
||||
'PYMODULE'),
|
||||
('pyimod04_pywin32',
|
||||
'F:\\Oraset\\build\\oraset\\localpycs\\pyimod04_pywin32.pyc',
|
||||
'PYMODULE'),
|
||||
('pyiboot01_bootstrap',
|
||||
'F:\\Python\\3.13.13(64-bit)-2026.4.7\\Lib\\site-packages\\PyInstaller\\loader\\pyiboot01_bootstrap.py',
|
||||
'PYSOURCE'),
|
||||
('pyi_rth_inspect',
|
||||
'F:\\Python\\3.13.13(64-bit)-2026.4.7\\Lib\\site-packages\\PyInstaller\\hooks\\rthooks\\pyi_rth_inspect.py',
|
||||
'PYSOURCE'),
|
||||
('oraset', 'F:\\Oraset\\oraset.py', 'PYSOURCE'),
|
||||
('python313.dll',
|
||||
'F:\\Python\\3.13.13(64-bit)-2026.4.7\\python313.dll',
|
||||
'BINARY'),
|
||||
('select.pyd',
|
||||
'F:\\Python\\3.13.13(64-bit)-2026.4.7\\DLLs\\select.pyd',
|
||||
'EXTENSION'),
|
||||
('_socket.pyd',
|
||||
'F:\\Python\\3.13.13(64-bit)-2026.4.7\\DLLs\\_socket.pyd',
|
||||
'EXTENSION'),
|
||||
('_lzma.pyd',
|
||||
'F:\\Python\\3.13.13(64-bit)-2026.4.7\\DLLs\\_lzma.pyd',
|
||||
'EXTENSION'),
|
||||
('_bz2.pyd',
|
||||
'F:\\Python\\3.13.13(64-bit)-2026.4.7\\DLLs\\_bz2.pyd',
|
||||
'EXTENSION'),
|
||||
('unicodedata.pyd',
|
||||
'F:\\Python\\3.13.13(64-bit)-2026.4.7\\DLLs\\unicodedata.pyd',
|
||||
'EXTENSION'),
|
||||
('_ssl.pyd',
|
||||
'F:\\Python\\3.13.13(64-bit)-2026.4.7\\DLLs\\_ssl.pyd',
|
||||
'EXTENSION'),
|
||||
('_hashlib.pyd',
|
||||
'F:\\Python\\3.13.13(64-bit)-2026.4.7\\DLLs\\_hashlib.pyd',
|
||||
'EXTENSION'),
|
||||
('_decimal.pyd',
|
||||
'F:\\Python\\3.13.13(64-bit)-2026.4.7\\DLLs\\_decimal.pyd',
|
||||
'EXTENSION'),
|
||||
('VCRUNTIME140.dll',
|
||||
'F:\\Python\\3.13.13(64-bit)-2026.4.7\\VCRUNTIME140.dll',
|
||||
'BINARY'),
|
||||
('api-ms-win-crt-conio-l1-1-0.dll',
|
||||
'D:\\Program Files\\Java\\jdk-21.0.10\\bin\\api-ms-win-crt-conio-l1-1-0.dll',
|
||||
'BINARY'),
|
||||
('api-ms-win-crt-string-l1-1-0.dll',
|
||||
'D:\\Program '
|
||||
'Files\\Java\\jdk-21.0.10\\bin\\api-ms-win-crt-string-l1-1-0.dll',
|
||||
'BINARY'),
|
||||
('api-ms-win-crt-convert-l1-1-0.dll',
|
||||
'D:\\Program '
|
||||
'Files\\Java\\jdk-21.0.10\\bin\\api-ms-win-crt-convert-l1-1-0.dll',
|
||||
'BINARY'),
|
||||
('api-ms-win-crt-process-l1-1-0.dll',
|
||||
'D:\\Program '
|
||||
'Files\\Java\\jdk-21.0.10\\bin\\api-ms-win-crt-process-l1-1-0.dll',
|
||||
'BINARY'),
|
||||
('api-ms-win-crt-time-l1-1-0.dll',
|
||||
'D:\\Program Files\\Java\\jdk-21.0.10\\bin\\api-ms-win-crt-time-l1-1-0.dll',
|
||||
'BINARY'),
|
||||
('api-ms-win-crt-stdio-l1-1-0.dll',
|
||||
'D:\\Program Files\\Java\\jdk-21.0.10\\bin\\api-ms-win-crt-stdio-l1-1-0.dll',
|
||||
'BINARY'),
|
||||
('api-ms-win-crt-heap-l1-1-0.dll',
|
||||
'D:\\Program Files\\Java\\jdk-21.0.10\\bin\\api-ms-win-crt-heap-l1-1-0.dll',
|
||||
'BINARY'),
|
||||
('api-ms-win-crt-filesystem-l1-1-0.dll',
|
||||
'D:\\Program '
|
||||
'Files\\Java\\jdk-21.0.10\\bin\\api-ms-win-crt-filesystem-l1-1-0.dll',
|
||||
'BINARY'),
|
||||
('api-ms-win-crt-locale-l1-1-0.dll',
|
||||
'D:\\Program '
|
||||
'Files\\Java\\jdk-21.0.10\\bin\\api-ms-win-crt-locale-l1-1-0.dll',
|
||||
'BINARY'),
|
||||
('api-ms-win-crt-runtime-l1-1-0.dll',
|
||||
'D:\\Program '
|
||||
'Files\\Java\\jdk-21.0.10\\bin\\api-ms-win-crt-runtime-l1-1-0.dll',
|
||||
'BINARY'),
|
||||
('api-ms-win-crt-environment-l1-1-0.dll',
|
||||
'D:\\Program '
|
||||
'Files\\Java\\jdk-21.0.10\\bin\\api-ms-win-crt-environment-l1-1-0.dll',
|
||||
'BINARY'),
|
||||
('api-ms-win-crt-math-l1-1-0.dll',
|
||||
'D:\\Program Files\\Java\\jdk-21.0.10\\bin\\api-ms-win-crt-math-l1-1-0.dll',
|
||||
'BINARY'),
|
||||
('libssl-3.dll',
|
||||
'F:\\Python\\3.13.13(64-bit)-2026.4.7\\DLLs\\libssl-3.dll',
|
||||
'BINARY'),
|
||||
('libcrypto-3.dll',
|
||||
'F:\\Python\\3.13.13(64-bit)-2026.4.7\\DLLs\\libcrypto-3.dll',
|
||||
'BINARY'),
|
||||
('ucrtbase.dll',
|
||||
'D:\\Program Files\\Java\\jdk-21.0.10\\bin\\ucrtbase.dll',
|
||||
'BINARY'),
|
||||
('api-ms-win-crt-utility-l1-1-0.dll',
|
||||
'D:\\Program '
|
||||
'Files\\Java\\jdk-21.0.10\\bin\\api-ms-win-crt-utility-l1-1-0.dll',
|
||||
'BINARY'),
|
||||
('api-ms-win-core-profile-l1-1-0.dll',
|
||||
'D:\\Program '
|
||||
'Files\\Java\\jdk-21.0.10\\bin\\api-ms-win-core-profile-l1-1-0.dll',
|
||||
'BINARY'),
|
||||
('api-ms-win-core-heap-l1-1-0.dll',
|
||||
'D:\\Program Files\\Java\\jdk-21.0.10\\bin\\api-ms-win-core-heap-l1-1-0.dll',
|
||||
'BINARY'),
|
||||
('api-ms-win-core-kernel32-legacy-l1-1-1.dll',
|
||||
'D:\\Program '
|
||||
'Files\\Java\\jdk-21.0.10\\bin\\api-ms-win-core-kernel32-legacy-l1-1-1.dll',
|
||||
'BINARY'),
|
||||
('api-ms-win-core-sysinfo-l1-2-0.dll',
|
||||
'D:\\Program '
|
||||
'Files\\Java\\jdk-21.0.10\\bin\\api-ms-win-core-sysinfo-l1-2-0.dll',
|
||||
'BINARY'),
|
||||
('api-ms-win-core-processthreads-l1-1-1.dll',
|
||||
'D:\\Program '
|
||||
'Files\\Java\\jdk-21.0.10\\bin\\api-ms-win-core-processthreads-l1-1-1.dll',
|
||||
'BINARY'),
|
||||
('api-ms-win-core-string-l1-1-0.dll',
|
||||
'D:\\Program '
|
||||
'Files\\Java\\jdk-21.0.10\\bin\\api-ms-win-core-string-l1-1-0.dll',
|
||||
'BINARY'),
|
||||
('api-ms-win-core-datetime-l1-1-0.dll',
|
||||
'D:\\Program '
|
||||
'Files\\Java\\jdk-21.0.10\\bin\\api-ms-win-core-datetime-l1-1-0.dll',
|
||||
'BINARY'),
|
||||
('api-ms-win-core-fibers-l1-1-1.dll',
|
||||
'D:\\Program '
|
||||
'Files\\Java\\jdk-21.0.10\\bin\\api-ms-win-core-fibers-l1-1-1.dll',
|
||||
'BINARY'),
|
||||
('api-ms-win-core-errorhandling-l1-1-0.dll',
|
||||
'D:\\Program '
|
||||
'Files\\Java\\jdk-21.0.10\\bin\\api-ms-win-core-errorhandling-l1-1-0.dll',
|
||||
'BINARY'),
|
||||
('api-ms-win-core-util-l1-1-0.dll',
|
||||
'D:\\Program Files\\Java\\jdk-21.0.10\\bin\\api-ms-win-core-util-l1-1-0.dll',
|
||||
'BINARY'),
|
||||
('api-ms-win-core-interlocked-l1-1-0.dll',
|
||||
'D:\\Program '
|
||||
'Files\\Java\\jdk-21.0.10\\bin\\api-ms-win-core-interlocked-l1-1-0.dll',
|
||||
'BINARY'),
|
||||
('api-ms-win-core-file-l2-1-0.dll',
|
||||
'D:\\Program Files\\Java\\jdk-21.0.10\\bin\\api-ms-win-core-file-l2-1-0.dll',
|
||||
'BINARY'),
|
||||
('api-ms-win-core-processthreads-l1-1-0.dll',
|
||||
'D:\\Program '
|
||||
'Files\\Java\\jdk-21.0.10\\bin\\api-ms-win-core-processthreads-l1-1-0.dll',
|
||||
'BINARY'),
|
||||
('api-ms-win-core-timezone-l1-1-0.dll',
|
||||
'D:\\Program '
|
||||
'Files\\Java\\jdk-21.0.10\\bin\\api-ms-win-core-timezone-l1-1-0.dll',
|
||||
'BINARY'),
|
||||
('api-ms-win-core-libraryloader-l1-1-0.dll',
|
||||
'D:\\Program '
|
||||
'Files\\Java\\jdk-21.0.10\\bin\\api-ms-win-core-libraryloader-l1-1-0.dll',
|
||||
'BINARY'),
|
||||
('api-ms-win-core-localization-l1-2-0.dll',
|
||||
'D:\\Program '
|
||||
'Files\\Java\\jdk-21.0.10\\bin\\api-ms-win-core-localization-l1-2-0.dll',
|
||||
'BINARY'),
|
||||
('api-ms-win-core-file-l1-2-0.dll',
|
||||
'D:\\Program Files\\Java\\jdk-21.0.10\\bin\\api-ms-win-core-file-l1-2-0.dll',
|
||||
'BINARY'),
|
||||
('api-ms-win-core-synch-l1-1-0.dll',
|
||||
'D:\\Program '
|
||||
'Files\\Java\\jdk-21.0.10\\bin\\api-ms-win-core-synch-l1-1-0.dll',
|
||||
'BINARY'),
|
||||
('api-ms-win-core-file-l1-1-0.dll',
|
||||
'D:\\Program Files\\Java\\jdk-21.0.10\\bin\\api-ms-win-core-file-l1-1-0.dll',
|
||||
'BINARY'),
|
||||
('api-ms-win-core-rtlsupport-l1-1-0.dll',
|
||||
'D:\\Program '
|
||||
'Files\\Java\\jdk-21.0.10\\bin\\api-ms-win-core-rtlsupport-l1-1-0.dll',
|
||||
'BINARY'),
|
||||
('api-ms-win-core-memory-l1-1-0.dll',
|
||||
'D:\\Program '
|
||||
'Files\\Java\\jdk-21.0.10\\bin\\api-ms-win-core-memory-l1-1-0.dll',
|
||||
'BINARY'),
|
||||
('api-ms-win-core-handle-l1-1-0.dll',
|
||||
'D:\\Program '
|
||||
'Files\\Java\\jdk-21.0.10\\bin\\api-ms-win-core-handle-l1-1-0.dll',
|
||||
'BINARY'),
|
||||
('api-ms-win-core-processenvironment-l1-1-0.dll',
|
||||
'D:\\Program '
|
||||
'Files\\Java\\jdk-21.0.10\\bin\\api-ms-win-core-processenvironment-l1-1-0.dll',
|
||||
'BINARY'),
|
||||
('api-ms-win-core-synch-l1-2-0.dll',
|
||||
'D:\\Program '
|
||||
'Files\\Java\\jdk-21.0.10\\bin\\api-ms-win-core-synch-l1-2-0.dll',
|
||||
'BINARY'),
|
||||
('api-ms-win-core-fibers-l1-1-0.dll',
|
||||
'D:\\Program '
|
||||
'Files\\Java\\jdk-21.0.10\\bin\\api-ms-win-core-fibers-l1-1-0.dll',
|
||||
'BINARY'),
|
||||
('api-ms-win-core-namedpipe-l1-1-0.dll',
|
||||
'D:\\Program '
|
||||
'Files\\Java\\jdk-21.0.10\\bin\\api-ms-win-core-namedpipe-l1-1-0.dll',
|
||||
'BINARY'),
|
||||
('api-ms-win-core-sysinfo-l1-1-0.dll',
|
||||
'D:\\Program '
|
||||
'Files\\Java\\jdk-21.0.10\\bin\\api-ms-win-core-sysinfo-l1-1-0.dll',
|
||||
'BINARY'),
|
||||
('api-ms-win-core-console-l1-1-0.dll',
|
||||
'D:\\Program '
|
||||
'Files\\Java\\jdk-21.0.10\\bin\\api-ms-win-core-console-l1-1-0.dll',
|
||||
'BINARY'),
|
||||
('api-ms-win-core-debug-l1-1-0.dll',
|
||||
'D:\\Program '
|
||||
'Files\\Java\\jdk-21.0.10\\bin\\api-ms-win-core-debug-l1-1-0.dll',
|
||||
'BINARY'),
|
||||
('base_library.zip', 'F:\\Oraset\\build\\oraset\\base_library.zip', 'DATA')],
|
||||
'python313.dll',
|
||||
False,
|
||||
False,
|
||||
False,
|
||||
[],
|
||||
None,
|
||||
None,
|
||||
None)
|
||||
Binary file not shown.
@@ -0,0 +1,351 @@
|
||||
('F:\\Oraset\\build\\oraset\\PYZ-00.pyz',
|
||||
[('__future__',
|
||||
'F:\\Python\\3.13.13(64-bit)-2026.4.7\\Lib\\__future__.py',
|
||||
'PYMODULE'),
|
||||
('_colorize',
|
||||
'F:\\Python\\3.13.13(64-bit)-2026.4.7\\Lib\\_colorize.py',
|
||||
'PYMODULE'),
|
||||
('_compat_pickle',
|
||||
'F:\\Python\\3.13.13(64-bit)-2026.4.7\\Lib\\_compat_pickle.py',
|
||||
'PYMODULE'),
|
||||
('_compression',
|
||||
'F:\\Python\\3.13.13(64-bit)-2026.4.7\\Lib\\_compression.py',
|
||||
'PYMODULE'),
|
||||
('_opcode_metadata',
|
||||
'F:\\Python\\3.13.13(64-bit)-2026.4.7\\Lib\\_opcode_metadata.py',
|
||||
'PYMODULE'),
|
||||
('_py_abc',
|
||||
'F:\\Python\\3.13.13(64-bit)-2026.4.7\\Lib\\_py_abc.py',
|
||||
'PYMODULE'),
|
||||
('_pydatetime',
|
||||
'F:\\Python\\3.13.13(64-bit)-2026.4.7\\Lib\\_pydatetime.py',
|
||||
'PYMODULE'),
|
||||
('_pydecimal',
|
||||
'F:\\Python\\3.13.13(64-bit)-2026.4.7\\Lib\\_pydecimal.py',
|
||||
'PYMODULE'),
|
||||
('_strptime',
|
||||
'F:\\Python\\3.13.13(64-bit)-2026.4.7\\Lib\\_strptime.py',
|
||||
'PYMODULE'),
|
||||
('_threading_local',
|
||||
'F:\\Python\\3.13.13(64-bit)-2026.4.7\\Lib\\_threading_local.py',
|
||||
'PYMODULE'),
|
||||
('argparse',
|
||||
'F:\\Python\\3.13.13(64-bit)-2026.4.7\\Lib\\argparse.py',
|
||||
'PYMODULE'),
|
||||
('ast', 'F:\\Python\\3.13.13(64-bit)-2026.4.7\\Lib\\ast.py', 'PYMODULE'),
|
||||
('base64',
|
||||
'F:\\Python\\3.13.13(64-bit)-2026.4.7\\Lib\\base64.py',
|
||||
'PYMODULE'),
|
||||
('bisect',
|
||||
'F:\\Python\\3.13.13(64-bit)-2026.4.7\\Lib\\bisect.py',
|
||||
'PYMODULE'),
|
||||
('bz2', 'F:\\Python\\3.13.13(64-bit)-2026.4.7\\Lib\\bz2.py', 'PYMODULE'),
|
||||
('calendar',
|
||||
'F:\\Python\\3.13.13(64-bit)-2026.4.7\\Lib\\calendar.py',
|
||||
'PYMODULE'),
|
||||
('contextlib',
|
||||
'F:\\Python\\3.13.13(64-bit)-2026.4.7\\Lib\\contextlib.py',
|
||||
'PYMODULE'),
|
||||
('contextvars',
|
||||
'F:\\Python\\3.13.13(64-bit)-2026.4.7\\Lib\\contextvars.py',
|
||||
'PYMODULE'),
|
||||
('copy', 'F:\\Python\\3.13.13(64-bit)-2026.4.7\\Lib\\copy.py', 'PYMODULE'),
|
||||
('csv', 'F:\\Python\\3.13.13(64-bit)-2026.4.7\\Lib\\csv.py', 'PYMODULE'),
|
||||
('dataclasses',
|
||||
'F:\\Python\\3.13.13(64-bit)-2026.4.7\\Lib\\dataclasses.py',
|
||||
'PYMODULE'),
|
||||
('datetime',
|
||||
'F:\\Python\\3.13.13(64-bit)-2026.4.7\\Lib\\datetime.py',
|
||||
'PYMODULE'),
|
||||
('decimal',
|
||||
'F:\\Python\\3.13.13(64-bit)-2026.4.7\\Lib\\decimal.py',
|
||||
'PYMODULE'),
|
||||
('dis', 'F:\\Python\\3.13.13(64-bit)-2026.4.7\\Lib\\dis.py', 'PYMODULE'),
|
||||
('email',
|
||||
'F:\\Python\\3.13.13(64-bit)-2026.4.7\\Lib\\email\\__init__.py',
|
||||
'PYMODULE'),
|
||||
('email._encoded_words',
|
||||
'F:\\Python\\3.13.13(64-bit)-2026.4.7\\Lib\\email\\_encoded_words.py',
|
||||
'PYMODULE'),
|
||||
('email._header_value_parser',
|
||||
'F:\\Python\\3.13.13(64-bit)-2026.4.7\\Lib\\email\\_header_value_parser.py',
|
||||
'PYMODULE'),
|
||||
('email._parseaddr',
|
||||
'F:\\Python\\3.13.13(64-bit)-2026.4.7\\Lib\\email\\_parseaddr.py',
|
||||
'PYMODULE'),
|
||||
('email._policybase',
|
||||
'F:\\Python\\3.13.13(64-bit)-2026.4.7\\Lib\\email\\_policybase.py',
|
||||
'PYMODULE'),
|
||||
('email.base64mime',
|
||||
'F:\\Python\\3.13.13(64-bit)-2026.4.7\\Lib\\email\\base64mime.py',
|
||||
'PYMODULE'),
|
||||
('email.charset',
|
||||
'F:\\Python\\3.13.13(64-bit)-2026.4.7\\Lib\\email\\charset.py',
|
||||
'PYMODULE'),
|
||||
('email.contentmanager',
|
||||
'F:\\Python\\3.13.13(64-bit)-2026.4.7\\Lib\\email\\contentmanager.py',
|
||||
'PYMODULE'),
|
||||
('email.encoders',
|
||||
'F:\\Python\\3.13.13(64-bit)-2026.4.7\\Lib\\email\\encoders.py',
|
||||
'PYMODULE'),
|
||||
('email.errors',
|
||||
'F:\\Python\\3.13.13(64-bit)-2026.4.7\\Lib\\email\\errors.py',
|
||||
'PYMODULE'),
|
||||
('email.feedparser',
|
||||
'F:\\Python\\3.13.13(64-bit)-2026.4.7\\Lib\\email\\feedparser.py',
|
||||
'PYMODULE'),
|
||||
('email.generator',
|
||||
'F:\\Python\\3.13.13(64-bit)-2026.4.7\\Lib\\email\\generator.py',
|
||||
'PYMODULE'),
|
||||
('email.header',
|
||||
'F:\\Python\\3.13.13(64-bit)-2026.4.7\\Lib\\email\\header.py',
|
||||
'PYMODULE'),
|
||||
('email.headerregistry',
|
||||
'F:\\Python\\3.13.13(64-bit)-2026.4.7\\Lib\\email\\headerregistry.py',
|
||||
'PYMODULE'),
|
||||
('email.iterators',
|
||||
'F:\\Python\\3.13.13(64-bit)-2026.4.7\\Lib\\email\\iterators.py',
|
||||
'PYMODULE'),
|
||||
('email.message',
|
||||
'F:\\Python\\3.13.13(64-bit)-2026.4.7\\Lib\\email\\message.py',
|
||||
'PYMODULE'),
|
||||
('email.parser',
|
||||
'F:\\Python\\3.13.13(64-bit)-2026.4.7\\Lib\\email\\parser.py',
|
||||
'PYMODULE'),
|
||||
('email.policy',
|
||||
'F:\\Python\\3.13.13(64-bit)-2026.4.7\\Lib\\email\\policy.py',
|
||||
'PYMODULE'),
|
||||
('email.quoprimime',
|
||||
'F:\\Python\\3.13.13(64-bit)-2026.4.7\\Lib\\email\\quoprimime.py',
|
||||
'PYMODULE'),
|
||||
('email.utils',
|
||||
'F:\\Python\\3.13.13(64-bit)-2026.4.7\\Lib\\email\\utils.py',
|
||||
'PYMODULE'),
|
||||
('fnmatch',
|
||||
'F:\\Python\\3.13.13(64-bit)-2026.4.7\\Lib\\fnmatch.py',
|
||||
'PYMODULE'),
|
||||
('fractions',
|
||||
'F:\\Python\\3.13.13(64-bit)-2026.4.7\\Lib\\fractions.py',
|
||||
'PYMODULE'),
|
||||
('ftplib',
|
||||
'F:\\Python\\3.13.13(64-bit)-2026.4.7\\Lib\\ftplib.py',
|
||||
'PYMODULE'),
|
||||
('getopt',
|
||||
'F:\\Python\\3.13.13(64-bit)-2026.4.7\\Lib\\getopt.py',
|
||||
'PYMODULE'),
|
||||
('getpass',
|
||||
'F:\\Python\\3.13.13(64-bit)-2026.4.7\\Lib\\getpass.py',
|
||||
'PYMODULE'),
|
||||
('gettext',
|
||||
'F:\\Python\\3.13.13(64-bit)-2026.4.7\\Lib\\gettext.py',
|
||||
'PYMODULE'),
|
||||
('glob', 'F:\\Python\\3.13.13(64-bit)-2026.4.7\\Lib\\glob.py', 'PYMODULE'),
|
||||
('gzip', 'F:\\Python\\3.13.13(64-bit)-2026.4.7\\Lib\\gzip.py', 'PYMODULE'),
|
||||
('hashlib',
|
||||
'F:\\Python\\3.13.13(64-bit)-2026.4.7\\Lib\\hashlib.py',
|
||||
'PYMODULE'),
|
||||
('http',
|
||||
'F:\\Python\\3.13.13(64-bit)-2026.4.7\\Lib\\http\\__init__.py',
|
||||
'PYMODULE'),
|
||||
('http.client',
|
||||
'F:\\Python\\3.13.13(64-bit)-2026.4.7\\Lib\\http\\client.py',
|
||||
'PYMODULE'),
|
||||
('http.cookiejar',
|
||||
'F:\\Python\\3.13.13(64-bit)-2026.4.7\\Lib\\http\\cookiejar.py',
|
||||
'PYMODULE'),
|
||||
('importlib',
|
||||
'F:\\Python\\3.13.13(64-bit)-2026.4.7\\Lib\\importlib\\__init__.py',
|
||||
'PYMODULE'),
|
||||
('importlib._abc',
|
||||
'F:\\Python\\3.13.13(64-bit)-2026.4.7\\Lib\\importlib\\_abc.py',
|
||||
'PYMODULE'),
|
||||
('importlib._bootstrap',
|
||||
'F:\\Python\\3.13.13(64-bit)-2026.4.7\\Lib\\importlib\\_bootstrap.py',
|
||||
'PYMODULE'),
|
||||
('importlib._bootstrap_external',
|
||||
'F:\\Python\\3.13.13(64-bit)-2026.4.7\\Lib\\importlib\\_bootstrap_external.py',
|
||||
'PYMODULE'),
|
||||
('importlib.abc',
|
||||
'F:\\Python\\3.13.13(64-bit)-2026.4.7\\Lib\\importlib\\abc.py',
|
||||
'PYMODULE'),
|
||||
('importlib.machinery',
|
||||
'F:\\Python\\3.13.13(64-bit)-2026.4.7\\Lib\\importlib\\machinery.py',
|
||||
'PYMODULE'),
|
||||
('importlib.metadata',
|
||||
'F:\\Python\\3.13.13(64-bit)-2026.4.7\\Lib\\importlib\\metadata\\__init__.py',
|
||||
'PYMODULE'),
|
||||
('importlib.metadata._adapters',
|
||||
'F:\\Python\\3.13.13(64-bit)-2026.4.7\\Lib\\importlib\\metadata\\_adapters.py',
|
||||
'PYMODULE'),
|
||||
('importlib.metadata._collections',
|
||||
'F:\\Python\\3.13.13(64-bit)-2026.4.7\\Lib\\importlib\\metadata\\_collections.py',
|
||||
'PYMODULE'),
|
||||
('importlib.metadata._functools',
|
||||
'F:\\Python\\3.13.13(64-bit)-2026.4.7\\Lib\\importlib\\metadata\\_functools.py',
|
||||
'PYMODULE'),
|
||||
('importlib.metadata._itertools',
|
||||
'F:\\Python\\3.13.13(64-bit)-2026.4.7\\Lib\\importlib\\metadata\\_itertools.py',
|
||||
'PYMODULE'),
|
||||
('importlib.metadata._meta',
|
||||
'F:\\Python\\3.13.13(64-bit)-2026.4.7\\Lib\\importlib\\metadata\\_meta.py',
|
||||
'PYMODULE'),
|
||||
('importlib.metadata._text',
|
||||
'F:\\Python\\3.13.13(64-bit)-2026.4.7\\Lib\\importlib\\metadata\\_text.py',
|
||||
'PYMODULE'),
|
||||
('importlib.readers',
|
||||
'F:\\Python\\3.13.13(64-bit)-2026.4.7\\Lib\\importlib\\readers.py',
|
||||
'PYMODULE'),
|
||||
('importlib.resources',
|
||||
'F:\\Python\\3.13.13(64-bit)-2026.4.7\\Lib\\importlib\\resources\\__init__.py',
|
||||
'PYMODULE'),
|
||||
('importlib.resources._adapters',
|
||||
'F:\\Python\\3.13.13(64-bit)-2026.4.7\\Lib\\importlib\\resources\\_adapters.py',
|
||||
'PYMODULE'),
|
||||
('importlib.resources._common',
|
||||
'F:\\Python\\3.13.13(64-bit)-2026.4.7\\Lib\\importlib\\resources\\_common.py',
|
||||
'PYMODULE'),
|
||||
('importlib.resources._functional',
|
||||
'F:\\Python\\3.13.13(64-bit)-2026.4.7\\Lib\\importlib\\resources\\_functional.py',
|
||||
'PYMODULE'),
|
||||
('importlib.resources._itertools',
|
||||
'F:\\Python\\3.13.13(64-bit)-2026.4.7\\Lib\\importlib\\resources\\_itertools.py',
|
||||
'PYMODULE'),
|
||||
('importlib.resources.abc',
|
||||
'F:\\Python\\3.13.13(64-bit)-2026.4.7\\Lib\\importlib\\resources\\abc.py',
|
||||
'PYMODULE'),
|
||||
('importlib.resources.readers',
|
||||
'F:\\Python\\3.13.13(64-bit)-2026.4.7\\Lib\\importlib\\resources\\readers.py',
|
||||
'PYMODULE'),
|
||||
('importlib.util',
|
||||
'F:\\Python\\3.13.13(64-bit)-2026.4.7\\Lib\\importlib\\util.py',
|
||||
'PYMODULE'),
|
||||
('inspect',
|
||||
'F:\\Python\\3.13.13(64-bit)-2026.4.7\\Lib\\inspect.py',
|
||||
'PYMODULE'),
|
||||
('ipaddress',
|
||||
'F:\\Python\\3.13.13(64-bit)-2026.4.7\\Lib\\ipaddress.py',
|
||||
'PYMODULE'),
|
||||
('json',
|
||||
'F:\\Python\\3.13.13(64-bit)-2026.4.7\\Lib\\json\\__init__.py',
|
||||
'PYMODULE'),
|
||||
('json.decoder',
|
||||
'F:\\Python\\3.13.13(64-bit)-2026.4.7\\Lib\\json\\decoder.py',
|
||||
'PYMODULE'),
|
||||
('json.encoder',
|
||||
'F:\\Python\\3.13.13(64-bit)-2026.4.7\\Lib\\json\\encoder.py',
|
||||
'PYMODULE'),
|
||||
('json.scanner',
|
||||
'F:\\Python\\3.13.13(64-bit)-2026.4.7\\Lib\\json\\scanner.py',
|
||||
'PYMODULE'),
|
||||
('logging',
|
||||
'F:\\Python\\3.13.13(64-bit)-2026.4.7\\Lib\\logging\\__init__.py',
|
||||
'PYMODULE'),
|
||||
('lzma', 'F:\\Python\\3.13.13(64-bit)-2026.4.7\\Lib\\lzma.py', 'PYMODULE'),
|
||||
('mimetypes',
|
||||
'F:\\Python\\3.13.13(64-bit)-2026.4.7\\Lib\\mimetypes.py',
|
||||
'PYMODULE'),
|
||||
('netrc', 'F:\\Python\\3.13.13(64-bit)-2026.4.7\\Lib\\netrc.py', 'PYMODULE'),
|
||||
('nturl2path',
|
||||
'F:\\Python\\3.13.13(64-bit)-2026.4.7\\Lib\\nturl2path.py',
|
||||
'PYMODULE'),
|
||||
('numbers',
|
||||
'F:\\Python\\3.13.13(64-bit)-2026.4.7\\Lib\\numbers.py',
|
||||
'PYMODULE'),
|
||||
('opcode',
|
||||
'F:\\Python\\3.13.13(64-bit)-2026.4.7\\Lib\\opcode.py',
|
||||
'PYMODULE'),
|
||||
('pathlib',
|
||||
'F:\\Python\\3.13.13(64-bit)-2026.4.7\\Lib\\pathlib\\__init__.py',
|
||||
'PYMODULE'),
|
||||
('pathlib._abc',
|
||||
'F:\\Python\\3.13.13(64-bit)-2026.4.7\\Lib\\pathlib\\_abc.py',
|
||||
'PYMODULE'),
|
||||
('pathlib._local',
|
||||
'F:\\Python\\3.13.13(64-bit)-2026.4.7\\Lib\\pathlib\\_local.py',
|
||||
'PYMODULE'),
|
||||
('pickle',
|
||||
'F:\\Python\\3.13.13(64-bit)-2026.4.7\\Lib\\pickle.py',
|
||||
'PYMODULE'),
|
||||
('pprint',
|
||||
'F:\\Python\\3.13.13(64-bit)-2026.4.7\\Lib\\pprint.py',
|
||||
'PYMODULE'),
|
||||
('py_compile',
|
||||
'F:\\Python\\3.13.13(64-bit)-2026.4.7\\Lib\\py_compile.py',
|
||||
'PYMODULE'),
|
||||
('quopri',
|
||||
'F:\\Python\\3.13.13(64-bit)-2026.4.7\\Lib\\quopri.py',
|
||||
'PYMODULE'),
|
||||
('random',
|
||||
'F:\\Python\\3.13.13(64-bit)-2026.4.7\\Lib\\random.py',
|
||||
'PYMODULE'),
|
||||
('selectors',
|
||||
'F:\\Python\\3.13.13(64-bit)-2026.4.7\\Lib\\selectors.py',
|
||||
'PYMODULE'),
|
||||
('shutil',
|
||||
'F:\\Python\\3.13.13(64-bit)-2026.4.7\\Lib\\shutil.py',
|
||||
'PYMODULE'),
|
||||
('signal',
|
||||
'F:\\Python\\3.13.13(64-bit)-2026.4.7\\Lib\\signal.py',
|
||||
'PYMODULE'),
|
||||
('socket',
|
||||
'F:\\Python\\3.13.13(64-bit)-2026.4.7\\Lib\\socket.py',
|
||||
'PYMODULE'),
|
||||
('ssl', 'F:\\Python\\3.13.13(64-bit)-2026.4.7\\Lib\\ssl.py', 'PYMODULE'),
|
||||
('statistics',
|
||||
'F:\\Python\\3.13.13(64-bit)-2026.4.7\\Lib\\statistics.py',
|
||||
'PYMODULE'),
|
||||
('string',
|
||||
'F:\\Python\\3.13.13(64-bit)-2026.4.7\\Lib\\string.py',
|
||||
'PYMODULE'),
|
||||
('stringprep',
|
||||
'F:\\Python\\3.13.13(64-bit)-2026.4.7\\Lib\\stringprep.py',
|
||||
'PYMODULE'),
|
||||
('subprocess',
|
||||
'F:\\Python\\3.13.13(64-bit)-2026.4.7\\Lib\\subprocess.py',
|
||||
'PYMODULE'),
|
||||
('tarfile',
|
||||
'F:\\Python\\3.13.13(64-bit)-2026.4.7\\Lib\\tarfile.py',
|
||||
'PYMODULE'),
|
||||
('tempfile',
|
||||
'F:\\Python\\3.13.13(64-bit)-2026.4.7\\Lib\\tempfile.py',
|
||||
'PYMODULE'),
|
||||
('textwrap',
|
||||
'F:\\Python\\3.13.13(64-bit)-2026.4.7\\Lib\\textwrap.py',
|
||||
'PYMODULE'),
|
||||
('threading',
|
||||
'F:\\Python\\3.13.13(64-bit)-2026.4.7\\Lib\\threading.py',
|
||||
'PYMODULE'),
|
||||
('token', 'F:\\Python\\3.13.13(64-bit)-2026.4.7\\Lib\\token.py', 'PYMODULE'),
|
||||
('tokenize',
|
||||
'F:\\Python\\3.13.13(64-bit)-2026.4.7\\Lib\\tokenize.py',
|
||||
'PYMODULE'),
|
||||
('tracemalloc',
|
||||
'F:\\Python\\3.13.13(64-bit)-2026.4.7\\Lib\\tracemalloc.py',
|
||||
'PYMODULE'),
|
||||
('typing',
|
||||
'F:\\Python\\3.13.13(64-bit)-2026.4.7\\Lib\\typing.py',
|
||||
'PYMODULE'),
|
||||
('urllib',
|
||||
'F:\\Python\\3.13.13(64-bit)-2026.4.7\\Lib\\urllib\\__init__.py',
|
||||
'PYMODULE'),
|
||||
('urllib.error',
|
||||
'F:\\Python\\3.13.13(64-bit)-2026.4.7\\Lib\\urllib\\error.py',
|
||||
'PYMODULE'),
|
||||
('urllib.parse',
|
||||
'F:\\Python\\3.13.13(64-bit)-2026.4.7\\Lib\\urllib\\parse.py',
|
||||
'PYMODULE'),
|
||||
('urllib.request',
|
||||
'F:\\Python\\3.13.13(64-bit)-2026.4.7\\Lib\\urllib\\request.py',
|
||||
'PYMODULE'),
|
||||
('urllib.response',
|
||||
'F:\\Python\\3.13.13(64-bit)-2026.4.7\\Lib\\urllib\\response.py',
|
||||
'PYMODULE'),
|
||||
('zipfile',
|
||||
'F:\\Python\\3.13.13(64-bit)-2026.4.7\\Lib\\zipfile\\__init__.py',
|
||||
'PYMODULE'),
|
||||
('zipfile._path',
|
||||
'F:\\Python\\3.13.13(64-bit)-2026.4.7\\Lib\\zipfile\\_path\\__init__.py',
|
||||
'PYMODULE'),
|
||||
('zipfile._path.glob',
|
||||
'F:\\Python\\3.13.13(64-bit)-2026.4.7\\Lib\\zipfile\\_path\\glob.py',
|
||||
'PYMODULE')])
|
||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
@@ -0,0 +1,27 @@
|
||||
|
||||
This file lists modules PyInstaller was not able to find. This does not
|
||||
necessarily mean these modules are required for running your program. Both
|
||||
Python's standard library and 3rd-party Python packages often conditionally
|
||||
import optional modules, some of which may be available only on certain
|
||||
platforms.
|
||||
|
||||
Types of import:
|
||||
* top-level: imported at the top-level - look at these first
|
||||
* conditional: imported within an if-statement
|
||||
* delayed: imported within a function
|
||||
* optional: imported within a try-except-statement
|
||||
|
||||
IMPORTANT: Do NOT post this list to the issue-tracker. Use it as a basis for
|
||||
tracking down the missing module yourself. Thanks!
|
||||
|
||||
missing module named grp - imported by shutil (delayed, optional), tarfile (optional), pathlib._local (optional), subprocess (delayed, conditional, optional)
|
||||
missing module named pwd - imported by posixpath (delayed, conditional, optional), shutil (delayed, optional), tarfile (optional), pathlib._local (optional), subprocess (delayed, conditional, optional), netrc (delayed, optional), getpass (delayed, optional)
|
||||
missing module named _frozen_importlib_external - imported by importlib._bootstrap (delayed), importlib (optional), importlib.abc (optional)
|
||||
excluded module named _frozen_importlib - imported by importlib (optional), importlib.abc (optional)
|
||||
missing module named 'collections.abc' - imported by traceback (top-level), typing (top-level), inspect (top-level), logging (top-level), importlib.resources.readers (top-level), selectors (top-level), tracemalloc (top-level), http.client (top-level)
|
||||
missing module named posix - imported by posixpath (optional), shutil (conditional), importlib._bootstrap_external (conditional), os (conditional, optional)
|
||||
missing module named resource - imported by posix (top-level)
|
||||
missing module named _scproxy - imported by urllib.request (conditional)
|
||||
missing module named termios - imported by getpass (optional)
|
||||
missing module named _posixsubprocess - imported by subprocess (conditional)
|
||||
missing module named fcntl - imported by subprocess (optional)
|
||||
File diff suppressed because it is too large
Load Diff
+102
@@ -0,0 +1,102 @@
|
||||
#!/bin/bash
|
||||
|
||||
# Oraset Debian Package Builder
|
||||
# This script packages Oraset into a .deb file for Debian/Ubuntu
|
||||
|
||||
set -e
|
||||
|
||||
PACKAGE_NAME="oraset"
|
||||
VERSION="1.0.0"
|
||||
ARCH="all"
|
||||
MAINTAINER="Oraset Developer"
|
||||
DESCRIPTION="A simple cross-platform programming language"
|
||||
LICENSE="GPL-3.0"
|
||||
|
||||
# Get the directory where the script is located
|
||||
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
|
||||
cd "${SCRIPT_DIR}"
|
||||
|
||||
# Build directory
|
||||
BUILD_DIR="orasetdeb"
|
||||
PACKAGE_DIR="${BUILD_DIR}/${PACKAGE_NAME}_${VERSION}_${ARCH}"
|
||||
|
||||
echo "=== Oraset Debian Package Builder ==="
|
||||
echo ""
|
||||
|
||||
# Clean previous build
|
||||
echo "[1/6] Cleaning previous build..."
|
||||
rm -rf ${BUILD_DIR}
|
||||
mkdir -p ${PACKAGE_DIR}
|
||||
|
||||
# Install PyInstaller if not present
|
||||
echo "[2/6] Checking PyInstaller..."
|
||||
if ! command -v pyinstaller &> /dev/null; then
|
||||
echo "Installing PyInstaller..."
|
||||
pip install --break-system-packages pyinstaller
|
||||
fi
|
||||
|
||||
# Create binary with PyInstaller
|
||||
echo "[3/6] Building binary with PyInstaller..."
|
||||
pyinstaller --onefile --name oraset oraset.py
|
||||
|
||||
# Copy binary to package directory
|
||||
echo "[4/6] Copying files..."
|
||||
mkdir -p ${PACKAGE_DIR}/usr/bin
|
||||
cp dist/oraset ${PACKAGE_DIR}/usr/bin/
|
||||
|
||||
# Create DEBIAN directory and control file
|
||||
echo "[5/6] Creating package metadata..."
|
||||
mkdir -p ${PACKAGE_DIR}/DEBIAN
|
||||
|
||||
cat > ${PACKAGE_DIR}/DEBIAN/control << EOF
|
||||
Package: ${PACKAGE_NAME}
|
||||
Version: ${VERSION}
|
||||
Section: interpreters
|
||||
Priority: optional
|
||||
Architecture: ${ARCH}
|
||||
Depends: python3
|
||||
Maintainer: ${MAINTAINER}
|
||||
Description: ${DESCRIPTION}
|
||||
A simple cross-platform programming language written in Python.
|
||||
Supports Windows and Linux, with features like variables,
|
||||
functions, classes, conditional statements, loops, and more.
|
||||
EOF
|
||||
|
||||
# Create copyright file
|
||||
mkdir -p ${PACKAGE_DIR}/usr/share/doc/${PACKAGE_NAME}
|
||||
cat > ${PACKAGE_DIR}/usr/share/doc/${PACKAGE_NAME}/copyright << EOF
|
||||
Format: https://www.debian.org/doc/packaging-manuals/copyright-format/1.0/
|
||||
Upstream-Name: ${PACKAGE_NAME}
|
||||
Upstream-Contact: ${MAINTAINER}
|
||||
Source: https://github.com/oraset/oraset
|
||||
|
||||
Files: *
|
||||
Copyright: ${LICENSE}
|
||||
License: GPL-3.0
|
||||
This program is free software: you can redistribute it and/or modify
|
||||
it under the terms of the GNU General Public License as published by
|
||||
the Free Software Foundation, either version 3 of the License.
|
||||
.
|
||||
On a Debian system, you can find the complete text of the GPL-3.0
|
||||
license in /usr/share/common-licenses/GPL-3.
|
||||
EOF
|
||||
|
||||
# Build the .deb package
|
||||
echo "[6/6] Building .deb package..."
|
||||
dpkg-deb --build ${PACKAGE_DIR}
|
||||
|
||||
# Move package to current directory
|
||||
mv ${PACKAGE_DIR}.deb ${BUILD_DIR}/
|
||||
|
||||
# Clean up PyInstaller build files
|
||||
rm -rf build dist
|
||||
|
||||
echo ""
|
||||
echo "=== Build Complete ==="
|
||||
echo "Package created: ${BUILD_DIR}/${PACKAGE_NAME}_${VERSION}_${ARCH}.deb"
|
||||
echo ""
|
||||
echo "To install the package, run:"
|
||||
echo " sudo dpkg -i ${BUILD_DIR}/${PACKAGE_NAME}_${VERSION}_${ARCH}.deb"
|
||||
echo ""
|
||||
echo "To uninstall the package, run:"
|
||||
echo " sudo dpkg -r ${PACKAGE_NAME}"
|
||||
Vendored
BIN
Binary file not shown.
@@ -0,0 +1,55 @@
|
||||
# Oraset Programming Language
|
||||
|
||||
## What is Oraset?
|
||||
|
||||
Oraset is a simple, powerful, cross-platform programming language designed to provide an easy-to-learn and easy-to-use programming tool.
|
||||
|
||||
### Key Features
|
||||
|
||||
- **Simple and intuitive syntax**: Clear syntax design, easy to learn and use
|
||||
- **Cross-platform support**: Runs on multiple platforms including Windows and Linux
|
||||
- **Rich library functions**: Built-in libraries for math, string, array, and more
|
||||
- **File packaging**: Supports packaging code into encrypted .osp files
|
||||
- **Network capabilities**: Built-in HTTP request functionality for easy interaction with web services
|
||||
- **Extensibility**: Supports adding custom extensions through the includes directory
|
||||
|
||||
## Quick Start
|
||||
|
||||
### Installation
|
||||
|
||||
1. Download the Oraset interpreter
|
||||
2. Extract it to any directory
|
||||
3. Add the Oraset directory to your system environment variables (optional)
|
||||
|
||||
### Your First Program
|
||||
|
||||
Create a file named `hello.oraset` with the following content:
|
||||
|
||||
```oraset
|
||||
!! First Oraset program
|
||||
show(`Hello, Oraset!`);
|
||||
```
|
||||
|
||||
Run the program:
|
||||
|
||||
```bash
|
||||
python oraset.py hello.oraset
|
||||
```
|
||||
|
||||
## Documentation Navigation
|
||||
|
||||
- [Getting Started](en/tutorial/quickstart.md) - Learn Oraset's basic syntax and usage
|
||||
- [Syntax Reference](en/reference/syntax.md) - Detailed syntax rules
|
||||
- [Library Reference](en/libraries/math.md) - Usage of built-in libraries
|
||||
- [Advanced Features](en/advanced/packaging.md) - Advanced features and best practices
|
||||
- [About](en/about/introduction.md) - Project introduction and contribution guidelines
|
||||
|
||||
## Community
|
||||
|
||||
- [GitHub Repository](https://github.com/oraset/oraset) - Source code and contributions
|
||||
- [Forum](https://forum.oraset.org) - Discussion and help
|
||||
- [Issue Tracker](https://github.com/oraset/oraset/issues) - Report issues
|
||||
|
||||
## License
|
||||
|
||||
Oraset uses the GNU General Public License v3.0.
|
||||
@@ -0,0 +1,242 @@
|
||||
# Math Library
|
||||
|
||||
## Introduction
|
||||
|
||||
The math library (`@math`) provides a range of mathematical functions, including basic operations, trigonometric functions, random number generation, and more.
|
||||
|
||||
## Import
|
||||
|
||||
```oraset
|
||||
@math;
|
||||
```
|
||||
|
||||
## Function Reference
|
||||
|
||||
### Basic Math Functions
|
||||
|
||||
#### math.abs(x)
|
||||
|
||||
Calculate absolute value.
|
||||
|
||||
**Parameters:**
|
||||
- `x` - Number
|
||||
|
||||
**Returns:**
|
||||
- Absolute value of the number
|
||||
|
||||
**Example:**
|
||||
|
||||
```oraset
|
||||
show(`abs(-123) = `, math.abs(-123)); // Output: 123
|
||||
```
|
||||
|
||||
#### math.sqrt(x)
|
||||
|
||||
Calculate square root.
|
||||
|
||||
**Parameters:**
|
||||
- `x` - Non-negative number
|
||||
|
||||
**Returns:**
|
||||
- Square root value
|
||||
|
||||
**Example:**
|
||||
|
||||
```oraset
|
||||
show(`sqrt(16) = `, math.sqrt(16)); // Output: 4
|
||||
```
|
||||
|
||||
#### math.pow(x, y)
|
||||
|
||||
Calculate power operation.
|
||||
|
||||
**Parameters:**
|
||||
- `x` - Base
|
||||
- `y` - Exponent
|
||||
|
||||
**Returns:**
|
||||
- x raised to the power of y
|
||||
|
||||
**Example:**
|
||||
|
||||
```oraset
|
||||
show(`pow(2, 3) = `, math.pow(2, 3)); // Output: 8
|
||||
```
|
||||
|
||||
### Trigonometric Functions
|
||||
|
||||
#### math.sin(x)
|
||||
|
||||
Calculate sine value (in degrees).
|
||||
|
||||
**Parameters:**
|
||||
- `x` - Angle in degrees
|
||||
|
||||
**Returns:**
|
||||
- Sine value
|
||||
|
||||
**Example:**
|
||||
|
||||
```oraset
|
||||
show(`sin(90) = `, math.sin(90)); // Output: 1
|
||||
```
|
||||
|
||||
#### math.cos(x)
|
||||
|
||||
Calculate cosine value (in degrees).
|
||||
|
||||
**Parameters:**
|
||||
- `x` - Angle in degrees
|
||||
|
||||
**Returns:**
|
||||
- Cosine value
|
||||
|
||||
**Example:**
|
||||
|
||||
```oraset
|
||||
show(`cos(0) = `, math.cos(0)); // Output: 1
|
||||
```
|
||||
|
||||
#### math.tan(x)
|
||||
|
||||
Calculate tangent value (in degrees).
|
||||
|
||||
**Parameters:**
|
||||
- `x` - Angle in degrees
|
||||
|
||||
**Returns:**
|
||||
- Tangent value
|
||||
|
||||
**Example:**
|
||||
|
||||
```oraset
|
||||
show(`tan(45) = `, math.tan(45)); // Output: 1
|
||||
```
|
||||
|
||||
### Math Constants
|
||||
|
||||
#### math.pi()
|
||||
|
||||
Return the value of pi (π).
|
||||
|
||||
**Parameters:** None
|
||||
|
||||
**Returns:**
|
||||
- Value of π (approximately 3.14159...)
|
||||
|
||||
**Example:**
|
||||
|
||||
```oraset
|
||||
show(`π = `, math.pi()); // Output: 3.141592653589793
|
||||
```
|
||||
|
||||
#### math.e()
|
||||
|
||||
Return the value of Euler's number (e).
|
||||
|
||||
**Parameters:** None
|
||||
|
||||
**Returns:**
|
||||
- Value of e (approximately 2.71828...)
|
||||
|
||||
**Example:**
|
||||
|
||||
```oraset
|
||||
show(`e = `, math.e()); // Output: 2.718281828459045
|
||||
```
|
||||
|
||||
### Extremum Functions
|
||||
|
||||
#### math.max(...args)
|
||||
|
||||
Calculate the maximum of multiple numbers.
|
||||
|
||||
**Parameters:**
|
||||
- `...args` - Multiple numbers
|
||||
|
||||
**Returns:**
|
||||
- Maximum value
|
||||
|
||||
**Example:**
|
||||
|
||||
```oraset
|
||||
show(`max(10, 5, 20) = `, math.max(10, 5, 20)); // Output: 20
|
||||
```
|
||||
|
||||
#### math.min(...args)
|
||||
|
||||
Calculate the minimum of multiple numbers.
|
||||
|
||||
**Parameters:**
|
||||
- `...args` - Multiple numbers
|
||||
|
||||
**Returns:**
|
||||
- Minimum value
|
||||
|
||||
**Example:**
|
||||
|
||||
```oraset
|
||||
show(`min(10, 5, 20) = `, math.min(10, 5, 20)); // Output: 5
|
||||
```
|
||||
|
||||
### Random Number Functions
|
||||
|
||||
#### math.random()
|
||||
|
||||
Generate a random number between 0 and 1.
|
||||
|
||||
**Parameters:** None
|
||||
|
||||
**Returns:**
|
||||
- Random float between 0 and 1
|
||||
|
||||
**Example:**
|
||||
|
||||
```oraset
|
||||
show(`random() = `, math.random()); // Output: 0.123456...
|
||||
```
|
||||
|
||||
#### math.randint(a, b)
|
||||
|
||||
Generate a random integer within a specified range.
|
||||
|
||||
**Parameters:**
|
||||
- `a` - Minimum value
|
||||
- `b` - Maximum value
|
||||
|
||||
**Returns:**
|
||||
- Random integer between a and b (inclusive)
|
||||
|
||||
**Example:**
|
||||
|
||||
```oraset
|
||||
show(`randint(1, 100) = `, math.randint(1, 100)); // Output: 42
|
||||
```
|
||||
|
||||
## Example Code
|
||||
|
||||
```oraset
|
||||
@math;
|
||||
|
||||
!! Basic operations
|
||||
show(`abs(-123) = `, math.abs(-123));
|
||||
show(`sqrt(16) = `, math.sqrt(16));
|
||||
show(`pow(2, 3) = `, math.pow(2, 3));
|
||||
|
||||
!! Trigonometric functions
|
||||
show(`sin(90) = `, math.sin(90));
|
||||
show(`cos(0) = `, math.cos(0));
|
||||
show(`tan(45) = `, math.tan(45));
|
||||
|
||||
!! Math constants
|
||||
show(`π = `, math.pi());
|
||||
show(`e = `, math.e());
|
||||
|
||||
!! Extremum
|
||||
show(`max(10, 5, 20) = `, math.max(10, 5, 20));
|
||||
show(`min(10, 5, 20) = `, math.min(10, 5, 20));
|
||||
|
||||
!! Random numbers
|
||||
show(`random() = `, math.random());
|
||||
show(`randint(1, 100) = `, math.randint(1, 100));
|
||||
```
|
||||
@@ -0,0 +1,128 @@
|
||||
# Quick Start
|
||||
|
||||
## Installing Oraset
|
||||
|
||||
### From Source
|
||||
|
||||
1. Clone or download the Oraset source code to your local machine
|
||||
2. Ensure your system has Python 3.6 or higher installed
|
||||
3. Navigate to the Oraset directory and run the `oraset.py` file directly
|
||||
|
||||
### From Binary
|
||||
|
||||
1. Download the binary file for your platform (`.exe` for Windows, executable for Linux)
|
||||
2. Extract it to any directory
|
||||
3. Add the executable directory to your system environment variables (optional)
|
||||
|
||||
## Running Your First Program
|
||||
|
||||
### Create a Program File
|
||||
|
||||
Create a file named `hello.oraset` with the following content:
|
||||
|
||||
```oraset
|
||||
!! This is a comment
|
||||
show(`Hello, Oraset!`);
|
||||
```
|
||||
|
||||
### Run the Program
|
||||
|
||||
#### Using Python
|
||||
|
||||
```bash
|
||||
python oraset.py hello.oraset
|
||||
```
|
||||
|
||||
#### Using Binary
|
||||
|
||||
```bash
|
||||
# Windows
|
||||
oraset.exe hello.oraset
|
||||
|
||||
# Linux
|
||||
./oraset hello.oraset
|
||||
```
|
||||
|
||||
### Expected Output
|
||||
|
||||
After running the program, you should see the following output:
|
||||
|
||||
```
|
||||
Hello, Oraset!
|
||||
```
|
||||
|
||||
## Basic Syntax Examples
|
||||
|
||||
### Variable Assignment
|
||||
|
||||
```oraset
|
||||
name = `John`;
|
||||
age = 25;
|
||||
price = 9.99;
|
||||
```
|
||||
|
||||
### Output
|
||||
|
||||
```oraset
|
||||
show(`Name: `, name);
|
||||
show(`Age: `, age);
|
||||
show(`Price: `, price);
|
||||
```
|
||||
|
||||
### Simple Calculation
|
||||
|
||||
```oraset
|
||||
num1 = 10;
|
||||
num2 = 20;
|
||||
sum = num1 + num2;
|
||||
show(`Sum: `, sum);
|
||||
```
|
||||
|
||||
## Next Steps
|
||||
|
||||
- Learn about [Basic Syntax](basic-syntax.md) for more syntax rules
|
||||
- Understand how to use [Data Types](data-types.md)
|
||||
- Learn about [Control Structures](control-structures.md) like conditionals and loops
|
||||
- Explore [Functions](functions.md) for defining and using functions
|
||||
|
||||
## Common Issues
|
||||
|
||||
### No Output When Running Program
|
||||
|
||||
- Check if you're using the `show` function
|
||||
- Ensure the file path is correct
|
||||
- Check for syntax errors
|
||||
|
||||
### Syntax Errors
|
||||
|
||||
- Check that parentheses are matched
|
||||
- Ensure strings are enclosed in backticks
|
||||
- Verify variable names are correct
|
||||
|
||||
### Command Not Found
|
||||
|
||||
- Ensure the Oraset directory is added to your environment variables
|
||||
- Or use the absolute path to run
|
||||
|
||||
## Example Code
|
||||
|
||||
### Calculating Factorial
|
||||
|
||||
```oraset
|
||||
def factorial(n) {
|
||||
if (n <= 1) {
|
||||
return 1;
|
||||
}
|
||||
return n * factorial(n - 1);
|
||||
}
|
||||
|
||||
show(`5! = `, factorial(5));
|
||||
```
|
||||
|
||||
### Array Operations
|
||||
|
||||
```oraset
|
||||
fruits = arr(`apple`, `banana`, `cherry`);
|
||||
show(`Fruits: `, fruits);
|
||||
show(`First fruit: `, fruits[0]);
|
||||
```
|
||||
@@ -0,0 +1,55 @@
|
||||
# Oraset 编程语言
|
||||
|
||||
## 什么是 Oraset?
|
||||
|
||||
Oraset 是一种简单、强大、跨平台的编程语言,设计初衷是提供一种易于学习和使用的编程工具。
|
||||
|
||||
### 主要特性
|
||||
|
||||
- **简单直观的语法**:清晰的语法设计,易于学习和使用
|
||||
- **跨平台支持**:可在 Windows 和 Linux 等多个平台运行
|
||||
- **丰富的库函数**:内置数学、字符串、数组等多种实用库
|
||||
- **文件打包功能**:支持将代码打包为加密的 .osp 文件
|
||||
- **网络请求能力**:内置 HTTP 请求功能,轻松与网络服务交互
|
||||
- **扩展性**:支持通过 includes 目录添加自定义扩展
|
||||
|
||||
## 快速开始
|
||||
|
||||
### 安装
|
||||
|
||||
1. 下载 Oraset 解释器
|
||||
2. 解压到任意目录
|
||||
3. 将 Oraset 所在目录添加到系统环境变量(可选)
|
||||
|
||||
### 第一个程序
|
||||
|
||||
创建一个名为 `hello.oraset` 的文件,内容如下:
|
||||
|
||||
```oraset
|
||||
!! 第一个 Oraset 程序
|
||||
show(`Hello, Oraset!`);
|
||||
```
|
||||
|
||||
运行程序:
|
||||
|
||||
```bash
|
||||
python oraset.py hello.oraset
|
||||
```
|
||||
|
||||
## 文档导航
|
||||
|
||||
- [入门教程](tutorial/quickstart.md) - 学习 Oraset 的基本语法和使用方法
|
||||
- [语法参考](reference/syntax.md) - 详细的语法规则
|
||||
- [库函数参考](libraries/math.md) - 内置库函数的使用方法
|
||||
- [高级特性](advanced/packaging.md) - 高级功能和最佳实践
|
||||
- [关于项目](about/introduction.md) - 项目介绍和贡献指南
|
||||
|
||||
## 社区
|
||||
|
||||
- [GitHub 仓库](https://github.com/oraset/oraset) - 源码和贡献
|
||||
- [论坛](https://bbs.ecuil.com) - 讨论和帮助
|
||||
- [问题追踪](https://github.com/oraset/oraset/issues) - 报告问题
|
||||
|
||||
## 许可证
|
||||
|
||||
Oraset 使用 GNU 通用公共许可证 v3.0。
|
||||
@@ -0,0 +1,242 @@
|
||||
# 数学库
|
||||
|
||||
## 简介
|
||||
|
||||
数学库(`@math`)提供了一系列数学运算函数,包括基本运算、三角函数、随机数生成等。
|
||||
|
||||
## 导入方式
|
||||
|
||||
```oraset
|
||||
@math;
|
||||
```
|
||||
|
||||
## 函数参考
|
||||
|
||||
### 基本数学函数
|
||||
|
||||
#### math.abs(x)
|
||||
|
||||
计算绝对值。
|
||||
|
||||
**参数:**
|
||||
- `x` - 数字
|
||||
|
||||
**返回值:**
|
||||
- 数字的绝对值
|
||||
|
||||
**示例:**
|
||||
|
||||
```oraset
|
||||
show(`abs(-123) = `, math.abs(-123)); // 输出: 123
|
||||
```
|
||||
|
||||
#### math.sqrt(x)
|
||||
|
||||
计算平方根。
|
||||
|
||||
**参数:**
|
||||
- `x` - 非负数
|
||||
|
||||
**返回值:**
|
||||
- 平方根值
|
||||
|
||||
**示例:**
|
||||
|
||||
```oraset
|
||||
show(`sqrt(16) = `, math.sqrt(16)); // 输出: 4
|
||||
```
|
||||
|
||||
#### math.pow(x, y)
|
||||
|
||||
计算幂运算。
|
||||
|
||||
**参数:**
|
||||
- `x` - 底数
|
||||
- `y` - 指数
|
||||
|
||||
**返回值:**
|
||||
- x 的 y 次幂
|
||||
|
||||
**示例:**
|
||||
|
||||
```oraset
|
||||
show(`pow(2, 3) = `, math.pow(2, 3)); // 输出: 8
|
||||
```
|
||||
|
||||
### 三角函数
|
||||
|
||||
#### math.sin(x)
|
||||
|
||||
计算正弦值(角度)。
|
||||
|
||||
**参数:**
|
||||
- `x` - 角度值
|
||||
|
||||
**返回值:**
|
||||
- 正弦值
|
||||
|
||||
**示例:**
|
||||
|
||||
```oraset
|
||||
show(`sin(90) = `, math.sin(90)); // 输出: 1
|
||||
```
|
||||
|
||||
#### math.cos(x)
|
||||
|
||||
计算余弦值(角度)。
|
||||
|
||||
**参数:**
|
||||
- `x` - 角度值
|
||||
|
||||
**返回值:**
|
||||
- 余弦值
|
||||
|
||||
**示例:**
|
||||
|
||||
```oraset
|
||||
show(`cos(0) = `, math.cos(0)); // 输出: 1
|
||||
```
|
||||
|
||||
#### math.tan(x)
|
||||
|
||||
计算正切值(角度)。
|
||||
|
||||
**参数:**
|
||||
- `x` - 角度值
|
||||
|
||||
**返回值:**
|
||||
- 正切值
|
||||
|
||||
**示例:**
|
||||
|
||||
```oraset
|
||||
show(`tan(45) = `, math.tan(45)); // 输出: 1
|
||||
```
|
||||
|
||||
### 数学常数
|
||||
|
||||
#### math.pi()
|
||||
|
||||
返回圆周率 π 的值。
|
||||
|
||||
**参数:** 无
|
||||
|
||||
**返回值:**
|
||||
- π 的值(约 3.14159...)
|
||||
|
||||
**示例:**
|
||||
|
||||
```oraset
|
||||
show(`π = `, math.pi()); // 输出: 3.141592653589793
|
||||
```
|
||||
|
||||
#### math.e()
|
||||
|
||||
返回自然对数底数 e 的值。
|
||||
|
||||
**参数:** 无
|
||||
|
||||
**返回值:**
|
||||
- e 的值(约 2.71828...)
|
||||
|
||||
**示例:**
|
||||
|
||||
```oraset
|
||||
show(`e = `, math.e()); // 输出: 2.718281828459045
|
||||
```
|
||||
|
||||
### 最值函数
|
||||
|
||||
#### math.max(...args)
|
||||
|
||||
计算多个数的最大值。
|
||||
|
||||
**参数:**
|
||||
- `...args` - 多个数字
|
||||
|
||||
**返回值:**
|
||||
- 最大值
|
||||
|
||||
**示例:**
|
||||
|
||||
```oraset
|
||||
show(`max(10, 5, 20) = `, math.max(10, 5, 20)); // 输出: 20
|
||||
```
|
||||
|
||||
#### math.min(...args)
|
||||
|
||||
计算多个数的最小值。
|
||||
|
||||
**参数:**
|
||||
- `...args` - 多个数字
|
||||
|
||||
**返回值:**
|
||||
- 最小值
|
||||
|
||||
**示例:**
|
||||
|
||||
```oraset
|
||||
show(`min(10, 5, 20) = `, math.min(10, 5, 20)); // 输出: 5
|
||||
```
|
||||
|
||||
### 随机数函数
|
||||
|
||||
#### math.random()
|
||||
|
||||
生成 0 到 1 之间的随机数。
|
||||
|
||||
**参数:** 无
|
||||
|
||||
**返回值:**
|
||||
- 0 到 1 之间的随机浮点数
|
||||
|
||||
**示例:**
|
||||
|
||||
```oraset
|
||||
show(`random() = `, math.random()); // 输出: 0.123456...
|
||||
```
|
||||
|
||||
#### math.randint(a, b)
|
||||
|
||||
生成指定范围内的随机整数。
|
||||
|
||||
**参数:**
|
||||
- `a` - 最小值
|
||||
- `b` - 最大值
|
||||
|
||||
**返回值:**
|
||||
- a 到 b 之间的随机整数(包含 a 和 b)
|
||||
|
||||
**示例:**
|
||||
|
||||
```oraset
|
||||
show(`randint(1, 100) = `, math.randint(1, 100)); // 输出: 42
|
||||
```
|
||||
|
||||
## 示例代码
|
||||
|
||||
```oraset
|
||||
@math;
|
||||
|
||||
!! 基本运算
|
||||
show(`abs(-123) = `, math.abs(-123));
|
||||
show(`sqrt(16) = `, math.sqrt(16));
|
||||
show(`pow(2, 3) = `, math.pow(2, 3));
|
||||
|
||||
!! 三角函数
|
||||
show(`sin(90) = `, math.sin(90));
|
||||
show(`cos(0) = `, math.cos(0));
|
||||
show(`tan(45) = `, math.tan(45));
|
||||
|
||||
!! 数学常数
|
||||
show(`π = `, math.pi());
|
||||
show(`e = `, math.e());
|
||||
|
||||
!! 最值
|
||||
show(`max(10, 5, 20) = `, math.max(10, 5, 20));
|
||||
show(`min(10, 5, 20) = `, math.min(10, 5, 20));
|
||||
|
||||
!! 随机数
|
||||
show(`random() = `, math.random());
|
||||
show(`randint(1, 100) = `, math.randint(1, 100));
|
||||
```
|
||||
@@ -0,0 +1,128 @@
|
||||
# 快速开始
|
||||
|
||||
## 安装 Oraset
|
||||
|
||||
### 从源码安装
|
||||
|
||||
1. 克隆或下载 Oraset 源码到本地
|
||||
2. 确保你的系统已安装 Python 3.6 或更高版本
|
||||
3. 进入 Oraset 目录,直接运行 `oraset.py` 文件
|
||||
|
||||
### 从二进制安装
|
||||
|
||||
1. 下载对应平台的二进制文件(Windows 为 .exe 文件,Linux 为可执行文件)
|
||||
2. 解压到任意目录
|
||||
3. 将可执行文件所在目录添加到系统环境变量(可选)
|
||||
|
||||
## 运行你的第一个程序
|
||||
|
||||
### 创建程序文件
|
||||
|
||||
创建一个名为 `hello.oraset` 的文件,内容如下:
|
||||
|
||||
```oraset
|
||||
!! 这是一个注释
|
||||
show(`Hello, Oraset!`);
|
||||
```
|
||||
|
||||
### 运行程序
|
||||
|
||||
#### 使用 Python 运行
|
||||
|
||||
```bash
|
||||
python oraset.py hello.oraset
|
||||
```
|
||||
|
||||
#### 使用二进制文件运行
|
||||
|
||||
```bash
|
||||
# Windows
|
||||
oraset.exe hello.oraset
|
||||
|
||||
# Linux
|
||||
./oraset hello.oraset
|
||||
```
|
||||
|
||||
### 运行结果
|
||||
|
||||
程序运行后,你应该会看到如下输出:
|
||||
|
||||
```
|
||||
Hello, Oraset!
|
||||
```
|
||||
|
||||
## 基本语法示例
|
||||
|
||||
### 变量赋值
|
||||
|
||||
```oraset
|
||||
name = `John`;
|
||||
age = 25;
|
||||
price = 9.99;
|
||||
```
|
||||
|
||||
### 输出
|
||||
|
||||
```oraset
|
||||
show(`Name: `, name);
|
||||
show(`Age: `, age);
|
||||
show(`Price: `, price);
|
||||
```
|
||||
|
||||
### 简单计算
|
||||
|
||||
```oraset
|
||||
num1 = 10;
|
||||
num2 = 20;
|
||||
sum = num1 + num2;
|
||||
show(`Sum: `, sum);
|
||||
```
|
||||
|
||||
## 下一步
|
||||
|
||||
- 学习 [基本语法](basic-syntax.md) 了解更多语法规则
|
||||
- 了解 [数据类型](data-types.md) 的使用
|
||||
- 学习 [控制结构](control-structures.md) 如条件语句和循环
|
||||
- 探索 [函数](functions.md) 的定义和使用
|
||||
|
||||
## 常见问题
|
||||
|
||||
### 程序运行时没有输出
|
||||
|
||||
- 检查是否使用了 `show` 函数
|
||||
- 确保文件路径正确
|
||||
- 检查是否有语法错误
|
||||
|
||||
### 语法错误
|
||||
|
||||
- 检查括号是否匹配
|
||||
- 确保字符串使用反引号包围
|
||||
- 检查变量名是否正确
|
||||
|
||||
### 找不到命令
|
||||
|
||||
- 确保 Oraset 所在目录已添加到环境变量
|
||||
- 或使用绝对路径运行
|
||||
|
||||
## 示例代码
|
||||
|
||||
### 计算阶乘
|
||||
|
||||
```oraset
|
||||
def factorial(n) {
|
||||
if (n <= 1) {
|
||||
return 1;
|
||||
}
|
||||
return n * factorial(n - 1);
|
||||
}
|
||||
|
||||
show(`5! = `, factorial(5));
|
||||
```
|
||||
|
||||
### 数组操作
|
||||
|
||||
```oraset
|
||||
fruits = arr(`apple`, `banana`, `cherry`);
|
||||
show(`Fruits: `, fruits);
|
||||
show(`First fruit: `, fruits[0]);
|
||||
```
|
||||
@@ -0,0 +1,74 @@
|
||||
site_name: Oraset 编程语言
|
||||
site_url: https://oraset.org
|
||||
site_description: Oraset 编程语言文档
|
||||
site_author: Oraset Team
|
||||
|
||||
# 主题配置 - 使用橙色系
|
||||
theme:
|
||||
name: material
|
||||
language: zh
|
||||
features:
|
||||
- navigation.tabs
|
||||
- navigation.sections
|
||||
- navigation.expand
|
||||
- navigation.top
|
||||
- search.suggest
|
||||
- search.highlight
|
||||
palette:
|
||||
- scheme: default
|
||||
primary: orange
|
||||
accent: orange
|
||||
- scheme: slate
|
||||
primary: deep orange
|
||||
accent: deep orange
|
||||
icon:
|
||||
repo: fontawesome/brands/github
|
||||
|
||||
# 插件
|
||||
plugins:
|
||||
- search
|
||||
|
||||
# 导航
|
||||
nav:
|
||||
- 首页: index.md
|
||||
- 入门教程:
|
||||
- 快速开始: tutorial/quickstart.md
|
||||
- 库参考:
|
||||
- 数学库: libraries/math.md
|
||||
|
||||
# 额外设置
|
||||
markdown_extensions:
|
||||
- toc:
|
||||
permalink: true
|
||||
- admonition
|
||||
- codehilite
|
||||
- footnotes
|
||||
- meta
|
||||
- pymdownx.arithmatex
|
||||
- pymdownx.betterem:
|
||||
smart_enable: all
|
||||
- pymdownx.caret
|
||||
- pymdownx.critic
|
||||
- pymdownx.details
|
||||
- pymdownx.emoji:
|
||||
emoji_index: !!python/name:material.extensions.emoji.twemoji
|
||||
emoji_generator: !!python/name:material.extensions.emoji.to_svg
|
||||
- pymdownx.highlight:
|
||||
linenums: true
|
||||
- pymdownx.inlinehilite
|
||||
- pymdownx.keys
|
||||
- pymdownx.mark
|
||||
- pymdownx.smartsymbols
|
||||
- pymdownx.superfences
|
||||
- pymdownx.tabbed
|
||||
- pymdownx.tasklist:
|
||||
custom_checkbox: true
|
||||
- pymdownx.tilde
|
||||
|
||||
# 社交链接
|
||||
extra:
|
||||
social:
|
||||
- icon: fontawesome/brands/github
|
||||
link: https://github.com/oraset/oraset
|
||||
- icon: fontawesome/brands/forumbee
|
||||
link: https://bbs.ecuil.com
|
||||
@@ -0,0 +1,597 @@
|
||||
|
||||
<!doctype html>
|
||||
<html lang="zh" class="no-js">
|
||||
<head>
|
||||
|
||||
<meta charset="utf-8">
|
||||
<meta name="viewport" content="width=device-width,initial-scale=1">
|
||||
|
||||
<meta name="description" content="Oraset 编程语言文档">
|
||||
|
||||
|
||||
<meta name="author" content="Oraset Team">
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<link rel="icon" href="/assets/images/favicon.png">
|
||||
<meta name="generator" content="mkdocs-1.6.1, mkdocs-material-9.7.6">
|
||||
|
||||
|
||||
|
||||
<title>Oraset 编程语言</title>
|
||||
|
||||
|
||||
|
||||
<link rel="stylesheet" href="/assets/stylesheets/main.484c7ddc.min.css">
|
||||
|
||||
|
||||
<link rel="stylesheet" href="/assets/stylesheets/palette.ab4e12ef.min.css">
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
|
||||
<link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Roboto:300,300i,400,400i,700,700i%7CRoboto+Mono:400,400i,700,700i&display=fallback">
|
||||
<style>:root{--md-text-font:"Roboto";--md-code-font:"Roboto Mono"}</style>
|
||||
|
||||
|
||||
|
||||
<script>__md_scope=new URL("/",location),__md_hash=e=>[...e].reduce(((e,_)=>(e<<5)-e+_.charCodeAt(0)),0),__md_get=(e,_=localStorage,t=__md_scope)=>JSON.parse(_.getItem(t.pathname+"."+e)),__md_set=(e,_,t=localStorage,a=__md_scope)=>{try{t.setItem(a.pathname+"."+e,JSON.stringify(_))}catch(e){}}</script>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
</head>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<body dir="ltr" data-md-color-scheme="default" data-md-color-primary="orange" data-md-color-accent="orange">
|
||||
|
||||
|
||||
<input class="md-toggle" data-md-toggle="drawer" type="checkbox" id="__drawer" autocomplete="off">
|
||||
<input class="md-toggle" data-md-toggle="search" type="checkbox" id="__search" autocomplete="off">
|
||||
<label class="md-overlay" for="__drawer"></label>
|
||||
<div data-md-component="skip">
|
||||
|
||||
</div>
|
||||
<div data-md-component="announce">
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
|
||||
<header class="md-header" data-md-component="header">
|
||||
<nav class="md-header__inner md-grid" aria-label="页眉">
|
||||
<a href="/." title="Oraset 编程语言" class="md-header__button md-logo" aria-label="Oraset 编程语言" data-md-component="logo">
|
||||
|
||||
|
||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M12 8a3 3 0 0 0 3-3 3 3 0 0 0-3-3 3 3 0 0 0-3 3 3 3 0 0 0 3 3m0 3.54C9.64 9.35 6.5 8 3 8v11c3.5 0 6.64 1.35 9 3.54 2.36-2.19 5.5-3.54 9-3.54V8c-3.5 0-6.64 1.35-9 3.54"/></svg>
|
||||
|
||||
</a>
|
||||
<label class="md-header__button md-icon" for="__drawer">
|
||||
|
||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M3 6h18v2H3zm0 5h18v2H3zm0 5h18v2H3z"/></svg>
|
||||
</label>
|
||||
<div class="md-header__title" data-md-component="header-title">
|
||||
<div class="md-header__ellipsis">
|
||||
<div class="md-header__topic">
|
||||
<span class="md-ellipsis">
|
||||
Oraset 编程语言
|
||||
</span>
|
||||
</div>
|
||||
<div class="md-header__topic" data-md-component="header-topic">
|
||||
<span class="md-ellipsis">
|
||||
|
||||
|
||||
|
||||
</span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
<form class="md-header__option" data-md-component="palette">
|
||||
|
||||
|
||||
|
||||
|
||||
<input class="md-option" data-md-color-media="" data-md-color-scheme="default" data-md-color-primary="orange" data-md-color-accent="orange" aria-hidden="true" type="radio" name="__palette" id="__palette_0">
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<input class="md-option" data-md-color-media="" data-md-color-scheme="slate" data-md-color-primary="deep-orange" data-md-color-accent="deep-orange" aria-hidden="true" type="radio" name="__palette" id="__palette_1">
|
||||
|
||||
|
||||
</form>
|
||||
|
||||
|
||||
|
||||
<script>var palette=__md_get("__palette");if(palette&&palette.color){if("(prefers-color-scheme)"===palette.color.media){var media=matchMedia("(prefers-color-scheme: light)"),input=document.querySelector(media.matches?"[data-md-color-media='(prefers-color-scheme: light)']":"[data-md-color-media='(prefers-color-scheme: dark)']");palette.color.media=input.getAttribute("data-md-color-media"),palette.color.scheme=input.getAttribute("data-md-color-scheme"),palette.color.primary=input.getAttribute("data-md-color-primary"),palette.color.accent=input.getAttribute("data-md-color-accent")}for(var[key,value]of Object.entries(palette.color))document.body.setAttribute("data-md-color-"+key,value)}</script>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<label class="md-header__button md-icon" for="__search">
|
||||
|
||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M9.5 3A6.5 6.5 0 0 1 16 9.5c0 1.61-.59 3.09-1.56 4.23l.27.27h.79l5 5-1.5 1.5-5-5v-.79l-.27-.27A6.52 6.52 0 0 1 9.5 16 6.5 6.5 0 0 1 3 9.5 6.5 6.5 0 0 1 9.5 3m0 2C7 5 5 7 5 9.5S7 14 9.5 14 14 12 14 9.5 12 5 9.5 5"/></svg>
|
||||
</label>
|
||||
<div class="md-search" data-md-component="search" role="dialog">
|
||||
<label class="md-search__overlay" for="__search"></label>
|
||||
<div class="md-search__inner" role="search">
|
||||
<form class="md-search__form" name="search">
|
||||
<input type="text" class="md-search__input" name="query" aria-label="搜索" placeholder="搜索" autocapitalize="off" autocorrect="off" autocomplete="off" spellcheck="false" data-md-component="search-query" required>
|
||||
<label class="md-search__icon md-icon" for="__search">
|
||||
|
||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M9.5 3A6.5 6.5 0 0 1 16 9.5c0 1.61-.59 3.09-1.56 4.23l.27.27h.79l5 5-1.5 1.5-5-5v-.79l-.27-.27A6.52 6.52 0 0 1 9.5 16 6.5 6.5 0 0 1 3 9.5 6.5 6.5 0 0 1 9.5 3m0 2C7 5 5 7 5 9.5S7 14 9.5 14 14 12 14 9.5 12 5 9.5 5"/></svg>
|
||||
|
||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M20 11v2H8l5.5 5.5-1.42 1.42L4.16 12l7.92-7.92L13.5 5.5 8 11z"/></svg>
|
||||
</label>
|
||||
<nav class="md-search__options" aria-label="查找">
|
||||
|
||||
<button type="reset" class="md-search__icon md-icon" title="清空当前内容" aria-label="清空当前内容" tabindex="-1">
|
||||
|
||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M19 6.41 17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12z"/></svg>
|
||||
</button>
|
||||
</nav>
|
||||
|
||||
<div class="md-search__suggest" data-md-component="search-suggest"></div>
|
||||
|
||||
</form>
|
||||
<div class="md-search__output">
|
||||
<div class="md-search__scrollwrap" tabindex="0" data-md-scrollfix>
|
||||
<div class="md-search-result" data-md-component="search-result">
|
||||
<div class="md-search-result__meta">
|
||||
正在初始化搜索引擎
|
||||
</div>
|
||||
<ol class="md-search-result__list" role="presentation"></ol>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
</nav>
|
||||
|
||||
</header>
|
||||
|
||||
<div class="md-container" data-md-component="container">
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<nav class="md-tabs" aria-label="标签" data-md-component="tabs">
|
||||
<div class="md-grid">
|
||||
<ul class="md-tabs__list">
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<li class="md-tabs__item">
|
||||
<a href="/." class="md-tabs__link">
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
首页
|
||||
|
||||
</a>
|
||||
</li>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<li class="md-tabs__item">
|
||||
<a href="/tutorial/quickstart/" class="md-tabs__link">
|
||||
|
||||
|
||||
|
||||
入门教程
|
||||
|
||||
</a>
|
||||
</li>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<li class="md-tabs__item">
|
||||
<a href="/libraries/math/" class="md-tabs__link">
|
||||
|
||||
|
||||
|
||||
库参考
|
||||
|
||||
</a>
|
||||
</li>
|
||||
|
||||
|
||||
|
||||
|
||||
</ul>
|
||||
</div>
|
||||
</nav>
|
||||
|
||||
|
||||
|
||||
<main class="md-main" data-md-component="main">
|
||||
<div class="md-main__inner md-grid">
|
||||
|
||||
|
||||
|
||||
<div class="md-sidebar md-sidebar--primary" data-md-component="sidebar" data-md-type="navigation" >
|
||||
<div class="md-sidebar__scrollwrap">
|
||||
<div class="md-sidebar__inner">
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<nav class="md-nav md-nav--primary md-nav--lifted" aria-label="导航栏" data-md-level="0">
|
||||
<label class="md-nav__title" for="__drawer">
|
||||
<a href="/." title="Oraset 编程语言" class="md-nav__button md-logo" aria-label="Oraset 编程语言" data-md-component="logo">
|
||||
|
||||
|
||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M12 8a3 3 0 0 0 3-3 3 3 0 0 0-3-3 3 3 0 0 0-3 3 3 3 0 0 0 3 3m0 3.54C9.64 9.35 6.5 8 3 8v11c3.5 0 6.64 1.35 9 3.54 2.36-2.19 5.5-3.54 9-3.54V8c-3.5 0-6.64 1.35-9 3.54"/></svg>
|
||||
|
||||
</a>
|
||||
Oraset 编程语言
|
||||
</label>
|
||||
|
||||
<ul class="md-nav__list" data-md-scrollfix>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<li class="md-nav__item">
|
||||
<a href="/." class="md-nav__link">
|
||||
|
||||
|
||||
|
||||
<span class="md-ellipsis">
|
||||
|
||||
|
||||
首页
|
||||
|
||||
|
||||
|
||||
</span>
|
||||
|
||||
|
||||
|
||||
</a>
|
||||
</li>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<li class="md-nav__item md-nav__item--nested">
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<input class="md-nav__toggle md-toggle md-toggle--indeterminate" type="checkbox" id="__nav_2" >
|
||||
|
||||
|
||||
<label class="md-nav__link" for="__nav_2" id="__nav_2_label" tabindex="0">
|
||||
|
||||
|
||||
|
||||
<span class="md-ellipsis">
|
||||
|
||||
|
||||
入门教程
|
||||
|
||||
|
||||
|
||||
</span>
|
||||
|
||||
|
||||
|
||||
<span class="md-nav__icon md-icon"></span>
|
||||
</label>
|
||||
|
||||
<nav class="md-nav" data-md-level="1" aria-labelledby="__nav_2_label" aria-expanded="false">
|
||||
<label class="md-nav__title" for="__nav_2">
|
||||
<span class="md-nav__icon md-icon"></span>
|
||||
|
||||
|
||||
入门教程
|
||||
|
||||
|
||||
</label>
|
||||
<ul class="md-nav__list" data-md-scrollfix>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<li class="md-nav__item">
|
||||
<a href="/tutorial/quickstart/" class="md-nav__link">
|
||||
|
||||
|
||||
|
||||
<span class="md-ellipsis">
|
||||
|
||||
|
||||
快速开始
|
||||
|
||||
|
||||
|
||||
</span>
|
||||
|
||||
|
||||
|
||||
</a>
|
||||
</li>
|
||||
|
||||
|
||||
|
||||
|
||||
</ul>
|
||||
</nav>
|
||||
|
||||
</li>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<li class="md-nav__item md-nav__item--nested">
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<input class="md-nav__toggle md-toggle md-toggle--indeterminate" type="checkbox" id="__nav_3" >
|
||||
|
||||
|
||||
<label class="md-nav__link" for="__nav_3" id="__nav_3_label" tabindex="0">
|
||||
|
||||
|
||||
|
||||
<span class="md-ellipsis">
|
||||
|
||||
|
||||
库参考
|
||||
|
||||
|
||||
|
||||
</span>
|
||||
|
||||
|
||||
|
||||
<span class="md-nav__icon md-icon"></span>
|
||||
</label>
|
||||
|
||||
<nav class="md-nav" data-md-level="1" aria-labelledby="__nav_3_label" aria-expanded="false">
|
||||
<label class="md-nav__title" for="__nav_3">
|
||||
<span class="md-nav__icon md-icon"></span>
|
||||
|
||||
|
||||
库参考
|
||||
|
||||
|
||||
</label>
|
||||
<ul class="md-nav__list" data-md-scrollfix>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<li class="md-nav__item">
|
||||
<a href="/libraries/math/" class="md-nav__link">
|
||||
|
||||
|
||||
|
||||
<span class="md-ellipsis">
|
||||
|
||||
|
||||
数学库
|
||||
|
||||
|
||||
|
||||
</span>
|
||||
|
||||
|
||||
|
||||
</a>
|
||||
</li>
|
||||
|
||||
|
||||
|
||||
|
||||
</ul>
|
||||
</nav>
|
||||
|
||||
</li>
|
||||
|
||||
|
||||
|
||||
</ul>
|
||||
</nav>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
<div class="md-sidebar md-sidebar--secondary" data-md-component="sidebar" data-md-type="toc" >
|
||||
<div class="md-sidebar__scrollwrap">
|
||||
<div class="md-sidebar__inner">
|
||||
|
||||
|
||||
<nav class="md-nav md-nav--secondary" aria-label="目录">
|
||||
|
||||
|
||||
|
||||
|
||||
</nav>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
<div class="md-content" data-md-component="content">
|
||||
|
||||
<article class="md-content__inner md-typeset">
|
||||
|
||||
<h1>404 - Not found</h1>
|
||||
|
||||
</article>
|
||||
</div>
|
||||
|
||||
|
||||
<script>var target=document.getElementById(location.hash.slice(1));target&&target.name&&(target.checked=target.name.startsWith("__tabbed_"))</script>
|
||||
</div>
|
||||
|
||||
<button type="button" class="md-top md-icon" data-md-component="top" hidden>
|
||||
|
||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M13 20h-2V8l-5.5 5.5-1.42-1.42L12 4.16l7.92 7.92-1.42 1.42L13 8z"/></svg>
|
||||
回到页面顶部
|
||||
</button>
|
||||
|
||||
</main>
|
||||
|
||||
<footer class="md-footer">
|
||||
|
||||
<div class="md-footer-meta md-typeset">
|
||||
<div class="md-footer-meta__inner md-grid">
|
||||
<div class="md-copyright">
|
||||
|
||||
|
||||
Made with
|
||||
<a href="https://squidfunk.github.io/mkdocs-material/" target="_blank" rel="noopener">
|
||||
Material for MkDocs
|
||||
</a>
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
<div class="md-social">
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<a href="https://github.com/oraset/oraset" target="_blank" rel="noopener" title="github.com" class="md-social__link">
|
||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><!--! Font Awesome Free 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2025 Fonticons, Inc.--><path d="M173.9 397.4c0 2-2.3 3.6-5.2 3.6-3.3.3-5.6-1.3-5.6-3.6 0-2 2.3-3.6 5.2-3.6 3-.3 5.6 1.3 5.6 3.6m-31.1-4.5c-.7 2 1.3 4.3 4.3 4.9 2.6 1 5.6 0 6.2-2s-1.3-4.3-4.3-5.2c-2.6-.7-5.5.3-6.2 2.3m44.2-1.7c-2.9.7-4.9 2.6-4.6 4.9.3 2 2.9 3.3 5.9 2.6 2.9-.7 4.9-2.6 4.6-4.6-.3-1.9-3-3.2-5.9-2.9M252.8 8C114.1 8 8 113.3 8 252c0 110.9 69.8 205.8 169.5 239.2 12.8 2.3 17.3-5.6 17.3-12.1 0-6.2-.3-40.4-.3-61.4 0 0-70 15-84.7-29.8 0 0-11.4-29.1-27.8-36.6 0 0-22.9-15.7 1.6-15.4 0 0 24.9 2 38.6 25.8 21.9 38.6 58.6 27.5 72.9 20.9 2.3-16 8.8-27.1 16-33.7-55.9-6.2-112.3-14.3-112.3-110.5 0-27.5 7.6-41.3 23.6-58.9-2.6-6.5-11.1-33.3 2.6-67.9 20.9-6.5 69 27 69 27 20-5.6 41.5-8.5 62.8-8.5s42.8 2.9 62.8 8.5c0 0 48.1-33.6 69-27 13.7 34.7 5.2 61.4 2.6 67.9 16 17.7 25.8 31.5 25.8 58.9 0 96.5-58.9 104.2-114.8 110.5 9.2 7.9 17 22.9 17 46.4 0 33.7-.3 75.4-.3 83.6 0 6.5 4.6 14.4 17.3 12.1C436.2 457.8 504 362.9 504 252 504 113.3 391.5 8 252.8 8M105.2 352.9c-1.3 1-1 3.3.7 5.2 1.6 1.6 3.9 2.3 5.2 1 1.3-1 1-3.3-.7-5.2-1.6-1.6-3.9-2.3-5.2-1m-10.8-8.1c-.7 1.3.3 2.9 2.3 3.9 1.6 1 3.6.7 4.3-.7.7-1.3-.3-2.9-2.3-3.9-2-.6-3.6-.3-4.3.7m32.4 35.6c-1.6 1.3-1 4.3 1.3 6.2 2.3 2.3 5.2 2.6 6.5 1 1.3-1.3.7-4.3-1.3-6.2-2.2-2.3-5.2-2.6-6.5-1m-11.4-14.7c-1.6 1-1.6 3.6 0 5.9s4.3 3.3 5.6 2.3c1.6-1.3 1.6-3.9 0-6.2-1.4-2.3-4-3.3-5.6-2"/></svg>
|
||||
</a>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<a href="https://bbs.ecuil.com" target="_blank" rel="noopener" title="bbs.ecuil.com" class="md-social__link">
|
||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><!--! Font Awesome Free 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2025 Fonticons, Inc.--><path d="M5.8 309.7C2 292.7 0 275.5 0 258.3 0 135 99.8 35 223.1 35c16.6 0 33.3 2 49.3 5.5C149 87.5 51.9 186 5.8 309.7m392.9-189.2C385 103 369 87.8 350.9 75.2c-149.6 44.3-266.3 162.1-309.7 312 12.5 18.1 28 35.6 45.2 49 43.1-151.3 161.2-271.7 312.3-315.7m15.8 252.7c15.2-25.1 25.4-53.7 29.5-82.8-79.4 42.9-145 110.6-187.6 190.3 30-4.4 58.9-15.3 84.6-31.3 35 13.1 70.9 24.3 107 33.6-9.3-36.5-20.4-74.5-33.5-109.8m29.7-145.5c-2.6-19.5-7.9-38.7-15.8-56.8C290.5 216.7 182 327.5 137.1 466c18.1 7.6 37 12.5 56.6 15.2C240 367.1 330.5 274.4 444.2 227.7"/></svg>
|
||||
</a>
|
||||
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</footer>
|
||||
|
||||
</div>
|
||||
<div class="md-dialog" data-md-component="dialog">
|
||||
<div class="md-dialog__inner md-typeset"></div>
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<script id="__config" type="application/json">{"annotate": null, "base": "/", "features": ["navigation.tabs", "navigation.sections", "navigation.expand", "navigation.top", "search.suggest", "search.highlight"], "search": "/assets/javascripts/workers/search.2c215733.min.js", "tags": null, "translations": {"clipboard.copied": "\u5df2\u590d\u5236", "clipboard.copy": "\u590d\u5236", "search.result.more.one": "\u5728\u8be5\u9875\u4e0a\u8fd8\u6709 1 \u4e2a\u7b26\u5408\u6761\u4ef6\u7684\u7ed3\u679c", "search.result.more.other": "\u5728\u8be5\u9875\u4e0a\u8fd8\u6709 # \u4e2a\u7b26\u5408\u6761\u4ef6\u7684\u7ed3\u679c", "search.result.none": "\u6ca1\u6709\u627e\u5230\u7b26\u5408\u6761\u4ef6\u7684\u7ed3\u679c", "search.result.one": "\u627e\u5230 1 \u4e2a\u7b26\u5408\u6761\u4ef6\u7684\u7ed3\u679c", "search.result.other": "# \u4e2a\u7b26\u5408\u6761\u4ef6\u7684\u7ed3\u679c", "search.result.placeholder": "\u952e\u5165\u4ee5\u5f00\u59cb\u641c\u7d22", "search.result.term.missing": "\u7f3a\u5c11", "select.version": "\u9009\u62e9\u5f53\u524d\u7248\u672c"}, "version": null}</script>
|
||||
|
||||
|
||||
<script src="/assets/javascripts/bundle.79ae519e.min.js"></script>
|
||||
|
||||
|
||||
</body>
|
||||
</html>
|
||||
Binary file not shown.
|
After Width: | Height: | Size: 1.8 KiB |
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
@@ -0,0 +1,18 @@
|
||||
/*!
|
||||
* Lunr languages, `Danish` language
|
||||
* https://github.com/MihaiValentin/lunr-languages
|
||||
*
|
||||
* Copyright 2014, Mihai Valentin
|
||||
* http://www.mozilla.org/MPL/
|
||||
*/
|
||||
/*!
|
||||
* based on
|
||||
* Snowball JavaScript Library v0.3
|
||||
* http://code.google.com/p/urim/
|
||||
* http://snowball.tartarus.org/
|
||||
*
|
||||
* Copyright 2010, Oleg Mazko
|
||||
* http://www.mozilla.org/MPL/
|
||||
*/
|
||||
|
||||
!function(e,r){"function"==typeof define&&define.amd?define(r):"object"==typeof exports?module.exports=r():r()(e.lunr)}(this,function(){return function(e){if(void 0===e)throw new Error("Lunr is not present. Please include / require Lunr before this script.");if(void 0===e.stemmerSupport)throw new Error("Lunr stemmer support is not present. Please include / require Lunr stemmer support before this script.");e.da=function(){this.pipeline.reset(),this.pipeline.add(e.da.trimmer,e.da.stopWordFilter,e.da.stemmer),this.searchPipeline&&(this.searchPipeline.reset(),this.searchPipeline.add(e.da.stemmer))},e.da.wordCharacters="A-Za-zªºÀ-ÖØ-öø-ʸˠ-ˤᴀ-ᴥᴬ-ᵜᵢ-ᵥᵫ-ᵷᵹ-ᶾḀ-ỿⁱⁿₐ-ₜKÅℲⅎⅠ-ↈⱠ-ⱿꜢ-ꞇꞋ-ꞭꞰ-ꞷꟷ-ꟿꬰ-ꭚꭜ-ꭤff-stA-Za-z",e.da.trimmer=e.trimmerSupport.generateTrimmer(e.da.wordCharacters),e.Pipeline.registerFunction(e.da.trimmer,"trimmer-da"),e.da.stemmer=function(){var r=e.stemmerSupport.Among,i=e.stemmerSupport.SnowballProgram,n=new function(){function e(){var e,r=f.cursor+3;if(d=f.limit,0<=r&&r<=f.limit){for(a=r;;){if(e=f.cursor,f.in_grouping(w,97,248)){f.cursor=e;break}if(f.cursor=e,e>=f.limit)return;f.cursor++}for(;!f.out_grouping(w,97,248);){if(f.cursor>=f.limit)return;f.cursor++}d=f.cursor,d<a&&(d=a)}}function n(){var e,r;if(f.cursor>=d&&(r=f.limit_backward,f.limit_backward=d,f.ket=f.cursor,e=f.find_among_b(c,32),f.limit_backward=r,e))switch(f.bra=f.cursor,e){case 1:f.slice_del();break;case 2:f.in_grouping_b(p,97,229)&&f.slice_del()}}function t(){var e,r=f.limit-f.cursor;f.cursor>=d&&(e=f.limit_backward,f.limit_backward=d,f.ket=f.cursor,f.find_among_b(l,4)?(f.bra=f.cursor,f.limit_backward=e,f.cursor=f.limit-r,f.cursor>f.limit_backward&&(f.cursor--,f.bra=f.cursor,f.slice_del())):f.limit_backward=e)}function s(){var e,r,i,n=f.limit-f.cursor;if(f.ket=f.cursor,f.eq_s_b(2,"st")&&(f.bra=f.cursor,f.eq_s_b(2,"ig")&&f.slice_del()),f.cursor=f.limit-n,f.cursor>=d&&(r=f.limit_backward,f.limit_backward=d,f.ket=f.cursor,e=f.find_among_b(m,5),f.limit_backward=r,e))switch(f.bra=f.cursor,e){case 1:f.slice_del(),i=f.limit-f.cursor,t(),f.cursor=f.limit-i;break;case 2:f.slice_from("løs")}}function o(){var e;f.cursor>=d&&(e=f.limit_backward,f.limit_backward=d,f.ket=f.cursor,f.out_grouping_b(w,97,248)?(f.bra=f.cursor,u=f.slice_to(u),f.limit_backward=e,f.eq_v_b(u)&&f.slice_del()):f.limit_backward=e)}var a,d,u,c=[new r("hed",-1,1),new r("ethed",0,1),new r("ered",-1,1),new r("e",-1,1),new r("erede",3,1),new r("ende",3,1),new r("erende",5,1),new r("ene",3,1),new r("erne",3,1),new r("ere",3,1),new r("en",-1,1),new r("heden",10,1),new r("eren",10,1),new r("er",-1,1),new r("heder",13,1),new r("erer",13,1),new r("s",-1,2),new r("heds",16,1),new r("es",16,1),new r("endes",18,1),new r("erendes",19,1),new r("enes",18,1),new r("ernes",18,1),new r("eres",18,1),new r("ens",16,1),new r("hedens",24,1),new r("erens",24,1),new r("ers",16,1),new r("ets",16,1),new r("erets",28,1),new r("et",-1,1),new r("eret",30,1)],l=[new r("gd",-1,-1),new r("dt",-1,-1),new r("gt",-1,-1),new r("kt",-1,-1)],m=[new r("ig",-1,1),new r("lig",0,1),new r("elig",1,1),new r("els",-1,1),new r("løst",-1,2)],w=[17,65,16,1,0,0,0,0,0,0,0,0,0,0,0,0,48,0,128],p=[239,254,42,3,0,0,0,0,0,0,0,0,0,0,0,0,16],f=new i;this.setCurrent=function(e){f.setCurrent(e)},this.getCurrent=function(){return f.getCurrent()},this.stem=function(){var r=f.cursor;return e(),f.limit_backward=r,f.cursor=f.limit,n(),f.cursor=f.limit,t(),f.cursor=f.limit,s(),f.cursor=f.limit,o(),!0}};return function(e){return"function"==typeof e.update?e.update(function(e){return n.setCurrent(e),n.stem(),n.getCurrent()}):(n.setCurrent(e),n.stem(),n.getCurrent())}}(),e.Pipeline.registerFunction(e.da.stemmer,"stemmer-da"),e.da.stopWordFilter=e.generateStopWordFilter("ad af alle alt anden at blev blive bliver da de dem den denne der deres det dette dig din disse dog du efter eller en end er et for fra ham han hans har havde have hende hendes her hos hun hvad hvis hvor i ikke ind jeg jer jo kunne man mange med meget men mig min mine mit mod ned noget nogle nu når og også om op os over på selv sig sin sine sit skal skulle som sådan thi til ud under var vi vil ville vor være været".split(" ")),e.Pipeline.registerFunction(e.da.stopWordFilter,"stopWordFilter-da")}});
|
||||
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
@@ -0,0 +1 @@
|
||||
!function(e,r){"function"==typeof define&&define.amd?define(r):"object"==typeof exports?module.exports=r():r()(e.lunr)}(this,function(){return function(e){if(void 0===e)throw new Error("Lunr is not present. Please include / require Lunr before this script.");if(void 0===e.stemmerSupport)throw new Error("Lunr stemmer support is not present. Please include / require Lunr stemmer support before this script.");e.hi=function(){this.pipeline.reset(),this.pipeline.add(e.hi.trimmer,e.hi.stopWordFilter,e.hi.stemmer),this.searchPipeline&&(this.searchPipeline.reset(),this.searchPipeline.add(e.hi.stemmer))},e.hi.wordCharacters="ऀ-ःऄ-एऐ-टठ-यर-िी-ॏॐ-य़ॠ-९॰-ॿa-zA-Za-zA-Z0-90-9",e.hi.trimmer=e.trimmerSupport.generateTrimmer(e.hi.wordCharacters),e.Pipeline.registerFunction(e.hi.trimmer,"trimmer-hi"),e.hi.stopWordFilter=e.generateStopWordFilter("अत अपना अपनी अपने अभी अंदर आदि आप इत्यादि इन इनका इन्हीं इन्हें इन्हों इस इसका इसकी इसके इसमें इसी इसे उन उनका उनकी उनके उनको उन्हीं उन्हें उन्हों उस उसके उसी उसे एक एवं एस ऐसे और कई कर करता करते करना करने करें कहते कहा का काफ़ी कि कितना किन्हें किन्हों किया किर किस किसी किसे की कुछ कुल के को कोई कौन कौनसा गया घर जब जहाँ जा जितना जिन जिन्हें जिन्हों जिस जिसे जीधर जैसा जैसे जो तक तब तरह तिन तिन्हें तिन्हों तिस तिसे तो था थी थे दबारा दिया दुसरा दूसरे दो द्वारा न नके नहीं ना निहायत नीचे ने पर पहले पूरा पे फिर बनी बही बहुत बाद बाला बिलकुल भी भीतर मगर मानो मे में यदि यह यहाँ यही या यिह ये रखें रहा रहे ऱ्वासा लिए लिये लेकिन व वग़ैरह वर्ग वह वहाँ वहीं वाले वुह वे वो सकता सकते सबसे सभी साथ साबुत साभ सारा से सो संग ही हुआ हुई हुए है हैं हो होता होती होते होना होने".split(" ")),e.hi.stemmer=function(){return function(e){return"function"==typeof e.update?e.update(function(e){return e}):e}}();var r=e.wordcut;r.init(),e.hi.tokenizer=function(i){if(!arguments.length||null==i||void 0==i)return[];if(Array.isArray(i))return i.map(function(r){return isLunr2?new e.Token(r.toLowerCase()):r.toLowerCase()});var t=i.toString().toLowerCase().replace(/^\s+/,"");return r.cut(t).split("|")},e.Pipeline.registerFunction(e.hi.stemmer,"stemmer-hi"),e.Pipeline.registerFunction(e.hi.stopWordFilter,"stopWordFilter-hi")}});
|
||||
File diff suppressed because one or more lines are too long
@@ -0,0 +1 @@
|
||||
!function(e,r){"function"==typeof define&&define.amd?define(r):"object"==typeof exports?module.exports=r():r()(e.lunr)}(this,function(){return function(e){if(void 0===e)throw new Error("Lunr is not present. Please include / require Lunr before this script.");if(void 0===e.stemmerSupport)throw new Error("Lunr stemmer support is not present. Please include / require Lunr stemmer support before this script.");e.hy=function(){this.pipeline.reset(),this.pipeline.add(e.hy.trimmer,e.hy.stopWordFilter)},e.hy.wordCharacters="[A-Za-z-֏ff-ﭏ]",e.hy.trimmer=e.trimmerSupport.generateTrimmer(e.hy.wordCharacters),e.Pipeline.registerFunction(e.hy.trimmer,"trimmer-hy"),e.hy.stopWordFilter=e.generateStopWordFilter("դու և եք էիր էիք հետո նաև նրանք որը վրա է որ պիտի են այս մեջ ն իր ու ի այդ որոնք այն կամ էր մի ես համար այլ իսկ էին ենք հետ ին թ էինք մենք նրա նա դուք եմ էի ըստ որպես ում".split(" ")),e.Pipeline.registerFunction(e.hy.stopWordFilter,"stopWordFilter-hy"),e.hy.stemmer=function(){return function(e){return"function"==typeof e.update?e.update(function(e){return e}):e}}(),e.Pipeline.registerFunction(e.hy.stemmer,"stemmer-hy")}});
|
||||
File diff suppressed because one or more lines are too long
@@ -0,0 +1 @@
|
||||
!function(e,r){"function"==typeof define&&define.amd?define(r):"object"==typeof exports?module.exports=r():r()(e.lunr)}(this,function(){return function(e){if(void 0===e)throw new Error("Lunr is not present. Please include / require Lunr before this script.");if(void 0===e.stemmerSupport)throw new Error("Lunr stemmer support is not present. Please include / require Lunr stemmer support before this script.");var r="2"==e.version[0];e.ja=function(){this.pipeline.reset(),this.pipeline.add(e.ja.trimmer,e.ja.stopWordFilter,e.ja.stemmer),r?this.tokenizer=e.ja.tokenizer:(e.tokenizer&&(e.tokenizer=e.ja.tokenizer),this.tokenizerFn&&(this.tokenizerFn=e.ja.tokenizer))};var t=new e.TinySegmenter;e.ja.tokenizer=function(i){var n,o,s,p,a,u,m,l,c,f;if(!arguments.length||null==i||void 0==i)return[];if(Array.isArray(i))return i.map(function(t){return r?new e.Token(t.toLowerCase()):t.toLowerCase()});for(o=i.toString().toLowerCase().replace(/^\s+/,""),n=o.length-1;n>=0;n--)if(/\S/.test(o.charAt(n))){o=o.substring(0,n+1);break}for(a=[],s=o.length,c=0,l=0;c<=s;c++)if(u=o.charAt(c),m=c-l,u.match(/\s/)||c==s){if(m>0)for(p=t.segment(o.slice(l,c)).filter(function(e){return!!e}),f=l,n=0;n<p.length;n++)r?a.push(new e.Token(p[n],{position:[f,p[n].length],index:a.length})):a.push(p[n]),f+=p[n].length;l=c+1}return a},e.ja.stemmer=function(){return function(e){return e}}(),e.Pipeline.registerFunction(e.ja.stemmer,"stemmer-ja"),e.ja.wordCharacters="一二三四五六七八九十百千万億兆一-龠々〆ヵヶぁ-んァ-ヴーア-ン゙a-zA-Za-zA-Z0-90-9",e.ja.trimmer=e.trimmerSupport.generateTrimmer(e.ja.wordCharacters),e.Pipeline.registerFunction(e.ja.trimmer,"trimmer-ja"),e.ja.stopWordFilter=e.generateStopWordFilter("これ それ あれ この その あの ここ そこ あそこ こちら どこ だれ なに なん 何 私 貴方 貴方方 我々 私達 あの人 あのかた 彼女 彼 です あります おります います は が の に を で え から まで より も どの と し それで しかし".split(" ")),e.Pipeline.registerFunction(e.ja.stopWordFilter,"stopWordFilter-ja"),e.jp=e.ja,e.Pipeline.registerFunction(e.jp.stemmer,"stemmer-jp"),e.Pipeline.registerFunction(e.jp.trimmer,"trimmer-jp"),e.Pipeline.registerFunction(e.jp.stopWordFilter,"stopWordFilter-jp")}});
|
||||
@@ -0,0 +1 @@
|
||||
module.exports=require("./lunr.ja");
|
||||
@@ -0,0 +1 @@
|
||||
!function(e,r){"function"==typeof define&&define.amd?define(r):"object"==typeof exports?module.exports=r():r()(e.lunr)}(this,function(){return function(e){if(void 0===e)throw new Error("Lunr is not present. Please include / require Lunr before this script.");if(void 0===e.stemmerSupport)throw new Error("Lunr stemmer support is not present. Please include / require Lunr stemmer support before this script.");e.kn=function(){this.pipeline.reset(),this.pipeline.add(e.kn.trimmer,e.kn.stopWordFilter,e.kn.stemmer),this.searchPipeline&&(this.searchPipeline.reset(),this.searchPipeline.add(e.kn.stemmer))},e.kn.wordCharacters="ಀ-಄ಅ-ಔಕ-ಹಾ-ೌ಼-ಽೕ-ೖೝ-ೞೠ-ೡೢ-ೣ೦-೯ೱ-ೳ",e.kn.trimmer=e.trimmerSupport.generateTrimmer(e.kn.wordCharacters),e.Pipeline.registerFunction(e.kn.trimmer,"trimmer-kn"),e.kn.stopWordFilter=e.generateStopWordFilter("ಮತ್ತು ಈ ಒಂದು ರಲ್ಲಿ ಹಾಗೂ ಎಂದು ಅಥವಾ ಇದು ರ ಅವರು ಎಂಬ ಮೇಲೆ ಅವರ ತನ್ನ ಆದರೆ ತಮ್ಮ ನಂತರ ಮೂಲಕ ಹೆಚ್ಚು ನ ಆ ಕೆಲವು ಅನೇಕ ಎರಡು ಹಾಗು ಪ್ರಮುಖ ಇದನ್ನು ಇದರ ಸುಮಾರು ಅದರ ಅದು ಮೊದಲ ಬಗ್ಗೆ ನಲ್ಲಿ ರಂದು ಇತರ ಅತ್ಯಂತ ಹೆಚ್ಚಿನ ಸಹ ಸಾಮಾನ್ಯವಾಗಿ ನೇ ಹಲವಾರು ಹೊಸ ದಿ ಕಡಿಮೆ ಯಾವುದೇ ಹೊಂದಿದೆ ದೊಡ್ಡ ಅನ್ನು ಇವರು ಪ್ರಕಾರ ಇದೆ ಮಾತ್ರ ಕೂಡ ಇಲ್ಲಿ ಎಲ್ಲಾ ವಿವಿಧ ಅದನ್ನು ಹಲವು ರಿಂದ ಕೇವಲ ದ ದಕ್ಷಿಣ ಗೆ ಅವನ ಅತಿ ನೆಯ ಬಹಳ ಕೆಲಸ ಎಲ್ಲ ಪ್ರತಿ ಇತ್ಯಾದಿ ಇವು ಬೇರೆ ಹೀಗೆ ನಡುವೆ ಇದಕ್ಕೆ ಎಸ್ ಇವರ ಮೊದಲು ಶ್ರೀ ಮಾಡುವ ಇದರಲ್ಲಿ ರೀತಿಯ ಮಾಡಿದ ಕಾಲ ಅಲ್ಲಿ ಮಾಡಲು ಅದೇ ಈಗ ಅವು ಗಳು ಎ ಎಂಬುದು ಅವನು ಅಂದರೆ ಅವರಿಗೆ ಇರುವ ವಿಶೇಷ ಮುಂದೆ ಅವುಗಳ ಮುಂತಾದ ಮೂಲ ಬಿ ಮೀ ಒಂದೇ ಇನ್ನೂ ಹೆಚ್ಚಾಗಿ ಮಾಡಿ ಅವರನ್ನು ಇದೇ ಯ ರೀತಿಯಲ್ಲಿ ಜೊತೆ ಅದರಲ್ಲಿ ಮಾಡಿದರು ನಡೆದ ಆಗ ಮತ್ತೆ ಪೂರ್ವ ಆತ ಬಂದ ಯಾವ ಒಟ್ಟು ಇತರೆ ಹಿಂದೆ ಪ್ರಮಾಣದ ಗಳನ್ನು ಕುರಿತು ಯು ಆದ್ದರಿಂದ ಅಲ್ಲದೆ ನಗರದ ಮೇಲಿನ ಏಕೆಂದರೆ ರಷ್ಟು ಎಂಬುದನ್ನು ಬಾರಿ ಎಂದರೆ ಹಿಂದಿನ ಆದರೂ ಆದ ಸಂಬಂಧಿಸಿದ ಮತ್ತೊಂದು ಸಿ ಆತನ ".split(" ")),e.kn.stemmer=function(){return function(e){return"function"==typeof e.update?e.update(function(e){return e}):e}}();var r=e.wordcut;r.init(),e.kn.tokenizer=function(t){if(!arguments.length||null==t||void 0==t)return[];if(Array.isArray(t))return t.map(function(r){return isLunr2?new e.Token(r.toLowerCase()):r.toLowerCase()});var n=t.toString().toLowerCase().replace(/^\s+/,"");return r.cut(n).split("|")},e.Pipeline.registerFunction(e.kn.stemmer,"stemmer-kn"),e.Pipeline.registerFunction(e.kn.stopWordFilter,"stopWordFilter-kn")}});
|
||||
File diff suppressed because one or more lines are too long
@@ -0,0 +1 @@
|
||||
!function(e,t){"function"==typeof define&&define.amd?define(t):"object"==typeof exports?module.exports=t():t()(e.lunr)}(this,function(){return function(e){e.multiLanguage=function(){for(var t=Array.prototype.slice.call(arguments),i=t.join("-"),r="",n=[],s=[],p=0;p<t.length;++p)"en"==t[p]?(r+="\\w",n.unshift(e.stopWordFilter),n.push(e.stemmer),s.push(e.stemmer)):(r+=e[t[p]].wordCharacters,e[t[p]].stopWordFilter&&n.unshift(e[t[p]].stopWordFilter),e[t[p]].stemmer&&(n.push(e[t[p]].stemmer),s.push(e[t[p]].stemmer)));var o=e.trimmerSupport.generateTrimmer(r);return e.Pipeline.registerFunction(o,"lunr-multi-trimmer-"+i),n.unshift(o),function(){this.pipeline.reset(),this.pipeline.add.apply(this.pipeline,n),this.searchPipeline&&(this.searchPipeline.reset(),this.searchPipeline.add.apply(this.searchPipeline,s))}}}});
|
||||
File diff suppressed because one or more lines are too long
@@ -0,0 +1,18 @@
|
||||
/*!
|
||||
* Lunr languages, `Norwegian` language
|
||||
* https://github.com/MihaiValentin/lunr-languages
|
||||
*
|
||||
* Copyright 2014, Mihai Valentin
|
||||
* http://www.mozilla.org/MPL/
|
||||
*/
|
||||
/*!
|
||||
* based on
|
||||
* Snowball JavaScript Library v0.3
|
||||
* http://code.google.com/p/urim/
|
||||
* http://snowball.tartarus.org/
|
||||
*
|
||||
* Copyright 2010, Oleg Mazko
|
||||
* http://www.mozilla.org/MPL/
|
||||
*/
|
||||
|
||||
!function(e,r){"function"==typeof define&&define.amd?define(r):"object"==typeof exports?module.exports=r():r()(e.lunr)}(this,function(){return function(e){if(void 0===e)throw new Error("Lunr is not present. Please include / require Lunr before this script.");if(void 0===e.stemmerSupport)throw new Error("Lunr stemmer support is not present. Please include / require Lunr stemmer support before this script.");e.no=function(){this.pipeline.reset(),this.pipeline.add(e.no.trimmer,e.no.stopWordFilter,e.no.stemmer),this.searchPipeline&&(this.searchPipeline.reset(),this.searchPipeline.add(e.no.stemmer))},e.no.wordCharacters="A-Za-zªºÀ-ÖØ-öø-ʸˠ-ˤᴀ-ᴥᴬ-ᵜᵢ-ᵥᵫ-ᵷᵹ-ᶾḀ-ỿⁱⁿₐ-ₜKÅℲⅎⅠ-ↈⱠ-ⱿꜢ-ꞇꞋ-ꞭꞰ-ꞷꟷ-ꟿꬰ-ꭚꭜ-ꭤff-stA-Za-z",e.no.trimmer=e.trimmerSupport.generateTrimmer(e.no.wordCharacters),e.Pipeline.registerFunction(e.no.trimmer,"trimmer-no"),e.no.stemmer=function(){var r=e.stemmerSupport.Among,n=e.stemmerSupport.SnowballProgram,i=new function(){function e(){var e,r=w.cursor+3;if(a=w.limit,0<=r||r<=w.limit){for(s=r;;){if(e=w.cursor,w.in_grouping(d,97,248)){w.cursor=e;break}if(e>=w.limit)return;w.cursor=e+1}for(;!w.out_grouping(d,97,248);){if(w.cursor>=w.limit)return;w.cursor++}a=w.cursor,a<s&&(a=s)}}function i(){var e,r,n;if(w.cursor>=a&&(r=w.limit_backward,w.limit_backward=a,w.ket=w.cursor,e=w.find_among_b(m,29),w.limit_backward=r,e))switch(w.bra=w.cursor,e){case 1:w.slice_del();break;case 2:n=w.limit-w.cursor,w.in_grouping_b(c,98,122)?w.slice_del():(w.cursor=w.limit-n,w.eq_s_b(1,"k")&&w.out_grouping_b(d,97,248)&&w.slice_del());break;case 3:w.slice_from("er")}}function t(){var e,r=w.limit-w.cursor;w.cursor>=a&&(e=w.limit_backward,w.limit_backward=a,w.ket=w.cursor,w.find_among_b(u,2)?(w.bra=w.cursor,w.limit_backward=e,w.cursor=w.limit-r,w.cursor>w.limit_backward&&(w.cursor--,w.bra=w.cursor,w.slice_del())):w.limit_backward=e)}function o(){var e,r;w.cursor>=a&&(r=w.limit_backward,w.limit_backward=a,w.ket=w.cursor,e=w.find_among_b(l,11),e?(w.bra=w.cursor,w.limit_backward=r,1==e&&w.slice_del()):w.limit_backward=r)}var s,a,m=[new r("a",-1,1),new r("e",-1,1),new r("ede",1,1),new r("ande",1,1),new r("ende",1,1),new r("ane",1,1),new r("ene",1,1),new r("hetene",6,1),new r("erte",1,3),new r("en",-1,1),new r("heten",9,1),new r("ar",-1,1),new r("er",-1,1),new r("heter",12,1),new r("s",-1,2),new r("as",14,1),new r("es",14,1),new r("edes",16,1),new r("endes",16,1),new r("enes",16,1),new r("hetenes",19,1),new r("ens",14,1),new r("hetens",21,1),new r("ers",14,1),new r("ets",14,1),new r("et",-1,1),new r("het",25,1),new r("ert",-1,3),new r("ast",-1,1)],u=[new r("dt",-1,-1),new r("vt",-1,-1)],l=[new r("leg",-1,1),new r("eleg",0,1),new r("ig",-1,1),new r("eig",2,1),new r("lig",2,1),new r("elig",4,1),new r("els",-1,1),new r("lov",-1,1),new r("elov",7,1),new r("slov",7,1),new r("hetslov",9,1)],d=[17,65,16,1,0,0,0,0,0,0,0,0,0,0,0,0,48,0,128],c=[119,125,149,1],w=new n;this.setCurrent=function(e){w.setCurrent(e)},this.getCurrent=function(){return w.getCurrent()},this.stem=function(){var r=w.cursor;return e(),w.limit_backward=r,w.cursor=w.limit,i(),w.cursor=w.limit,t(),w.cursor=w.limit,o(),!0}};return function(e){return"function"==typeof e.update?e.update(function(e){return i.setCurrent(e),i.stem(),i.getCurrent()}):(i.setCurrent(e),i.stem(),i.getCurrent())}}(),e.Pipeline.registerFunction(e.no.stemmer,"stemmer-no"),e.no.stopWordFilter=e.generateStopWordFilter("alle at av bare begge ble blei bli blir blitt både båe da de deg dei deim deira deires dem den denne der dere deres det dette di din disse ditt du dykk dykkar då eg ein eit eitt eller elles en enn er et ett etter for fordi fra før ha hadde han hans har hennar henne hennes her hjå ho hoe honom hoss hossen hun hva hvem hver hvilke hvilken hvis hvor hvordan hvorfor i ikke ikkje ikkje ingen ingi inkje inn inni ja jeg kan kom korleis korso kun kunne kva kvar kvarhelst kven kvi kvifor man mange me med medan meg meget mellom men mi min mine mitt mot mykje ned no noe noen noka noko nokon nokor nokre nå når og også om opp oss over på samme seg selv si si sia sidan siden sin sine sitt sjøl skal skulle slik so som som somme somt så sånn til um upp ut uten var vart varte ved vere verte vi vil ville vore vors vort vår være være vært å".split(" ")),e.Pipeline.registerFunction(e.no.stopWordFilter,"stopWordFilter-no")}});
|
||||
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
@@ -0,0 +1 @@
|
||||
!function(e,r){"function"==typeof define&&define.amd?define(r):"object"==typeof exports?module.exports=r():r()(e.lunr)}(this,function(){return function(e){if(void 0===e)throw new Error("Lunr is not present. Please include / require Lunr before this script.");if(void 0===e.stemmerSupport)throw new Error("Lunr stemmer support is not present. Please include / require Lunr stemmer support before this script.");e.sa=function(){this.pipeline.reset(),this.pipeline.add(e.sa.trimmer,e.sa.stopWordFilter,e.sa.stemmer),this.searchPipeline&&(this.searchPipeline.reset(),this.searchPipeline.add(e.sa.stemmer))},e.sa.wordCharacters="ऀ-ःऄ-एऐ-टठ-यर-िी-ॏॐ-य़ॠ-९॰-ॿ꣠-꣱ꣲ-ꣷ꣸-ꣻ꣼-ꣽꣾ-ꣿᆰ0-ᆰ9",e.sa.trimmer=e.trimmerSupport.generateTrimmer(e.sa.wordCharacters),e.Pipeline.registerFunction(e.sa.trimmer,"trimmer-sa"),e.sa.stopWordFilter=e.generateStopWordFilter('तथा अयम् एकम् इत्यस्मिन् तथा तत् वा अयम् इत्यस्य ते आहूत उपरि तेषाम् किन्तु तेषाम् तदा इत्यनेन अधिकः इत्यस्य तत् केचन बहवः द्वि तथा महत्वपूर्णः अयम् अस्य विषये अयं अस्ति तत् प्रथमः विषये इत्युपरि इत्युपरि इतर अधिकतमः अधिकः अपि सामान्यतया ठ इतरेतर नूतनम् द न्यूनम् कश्चित् वा विशालः द सः अस्ति तदनुसारम् तत्र अस्ति केवलम् अपि अत्र सर्वे विविधाः तत् बहवः यतः इदानीम् द दक्षिण इत्यस्मै तस्य उपरि नथ अतीव कार्यम् सर्वे एकैकम् इत्यादि। एते सन्ति उत इत्थम् मध्ये एतदर्थं . स कस्य प्रथमः श्री. करोति अस्मिन् प्रकारः निर्मिता कालः तत्र कर्तुं समान अधुना ते सन्ति स एकः अस्ति सः अर्थात् तेषां कृते . स्थितम् विशेषः अग्रिम तेषाम् समान स्रोतः ख म समान इदानीमपि अधिकतया करोतु ते समान इत्यस्य वीथी सह यस्मिन् कृतवान् धृतः तदा पुनः पूर्वं सः आगतः किम् कुल इतर पुरा मात्रा स विषये उ अतएव अपि नगरस्य उपरि यतः प्रतिशतं कतरः कालः साधनानि भूत तथापि जात सम्बन्धि अन्यत् ग अतः अस्माकं स्वकीयाः अस्माकं इदानीं अन्तः इत्यादयः भवन्तः इत्यादयः एते एताः तस्य अस्य इदम् एते तेषां तेषां तेषां तान् तेषां तेषां तेषां समानः सः एकः च तादृशाः बहवः अन्ये च वदन्ति यत् कियत् कस्मै कस्मै यस्मै यस्मै यस्मै यस्मै न अतिनीचः किन्तु प्रथमं सम्पूर्णतया ततः चिरकालानन्तरं पुस्तकं सम्पूर्णतया अन्तः किन्तु अत्र वा इह इव श्रद्धाय अवशिष्यते परन्तु अन्ये वर्गाः सन्ति ते सन्ति शक्नुवन्ति सर्वे मिलित्वा सर्वे एकत्र"'.split(" ")),e.sa.stemmer=function(){return function(e){return"function"==typeof e.update?e.update(function(e){return e}):e}}();var r=e.wordcut;r.init(),e.sa.tokenizer=function(t){if(!arguments.length||null==t||void 0==t)return[];if(Array.isArray(t))return t.map(function(r){return isLunr2?new e.Token(r.toLowerCase()):r.toLowerCase()});var i=t.toString().toLowerCase().replace(/^\s+/,"");return r.cut(i).split("|")},e.Pipeline.registerFunction(e.sa.stemmer,"stemmer-sa"),e.Pipeline.registerFunction(e.sa.stopWordFilter,"stopWordFilter-sa")}});
|
||||
@@ -0,0 +1 @@
|
||||
!function(r,t){"function"==typeof define&&define.amd?define(t):"object"==typeof exports?module.exports=t():t()(r.lunr)}(this,function(){return function(r){r.stemmerSupport={Among:function(r,t,i,s){if(this.toCharArray=function(r){for(var t=r.length,i=new Array(t),s=0;s<t;s++)i[s]=r.charCodeAt(s);return i},!r&&""!=r||!t&&0!=t||!i)throw"Bad Among initialisation: s:"+r+", substring_i: "+t+", result: "+i;this.s_size=r.length,this.s=this.toCharArray(r),this.substring_i=t,this.result=i,this.method=s},SnowballProgram:function(){var r;return{bra:0,ket:0,limit:0,cursor:0,limit_backward:0,setCurrent:function(t){r=t,this.cursor=0,this.limit=t.length,this.limit_backward=0,this.bra=this.cursor,this.ket=this.limit},getCurrent:function(){var t=r;return r=null,t},in_grouping:function(t,i,s){if(this.cursor<this.limit){var e=r.charCodeAt(this.cursor);if(e<=s&&e>=i&&(e-=i,t[e>>3]&1<<(7&e)))return this.cursor++,!0}return!1},in_grouping_b:function(t,i,s){if(this.cursor>this.limit_backward){var e=r.charCodeAt(this.cursor-1);if(e<=s&&e>=i&&(e-=i,t[e>>3]&1<<(7&e)))return this.cursor--,!0}return!1},out_grouping:function(t,i,s){if(this.cursor<this.limit){var e=r.charCodeAt(this.cursor);if(e>s||e<i)return this.cursor++,!0;if(e-=i,!(t[e>>3]&1<<(7&e)))return this.cursor++,!0}return!1},out_grouping_b:function(t,i,s){if(this.cursor>this.limit_backward){var e=r.charCodeAt(this.cursor-1);if(e>s||e<i)return this.cursor--,!0;if(e-=i,!(t[e>>3]&1<<(7&e)))return this.cursor--,!0}return!1},eq_s:function(t,i){if(this.limit-this.cursor<t)return!1;for(var s=0;s<t;s++)if(r.charCodeAt(this.cursor+s)!=i.charCodeAt(s))return!1;return this.cursor+=t,!0},eq_s_b:function(t,i){if(this.cursor-this.limit_backward<t)return!1;for(var s=0;s<t;s++)if(r.charCodeAt(this.cursor-t+s)!=i.charCodeAt(s))return!1;return this.cursor-=t,!0},find_among:function(t,i){for(var s=0,e=i,n=this.cursor,u=this.limit,o=0,h=0,c=!1;;){for(var a=s+(e-s>>1),f=0,l=o<h?o:h,_=t[a],m=l;m<_.s_size;m++){if(n+l==u){f=-1;break}if(f=r.charCodeAt(n+l)-_.s[m])break;l++}if(f<0?(e=a,h=l):(s=a,o=l),e-s<=1){if(s>0||e==s||c)break;c=!0}}for(;;){var _=t[s];if(o>=_.s_size){if(this.cursor=n+_.s_size,!_.method)return _.result;var b=_.method();if(this.cursor=n+_.s_size,b)return _.result}if((s=_.substring_i)<0)return 0}},find_among_b:function(t,i){for(var s=0,e=i,n=this.cursor,u=this.limit_backward,o=0,h=0,c=!1;;){for(var a=s+(e-s>>1),f=0,l=o<h?o:h,_=t[a],m=_.s_size-1-l;m>=0;m--){if(n-l==u){f=-1;break}if(f=r.charCodeAt(n-1-l)-_.s[m])break;l++}if(f<0?(e=a,h=l):(s=a,o=l),e-s<=1){if(s>0||e==s||c)break;c=!0}}for(;;){var _=t[s];if(o>=_.s_size){if(this.cursor=n-_.s_size,!_.method)return _.result;var b=_.method();if(this.cursor=n-_.s_size,b)return _.result}if((s=_.substring_i)<0)return 0}},replace_s:function(t,i,s){var e=s.length-(i-t),n=r.substring(0,t),u=r.substring(i);return r=n+s+u,this.limit+=e,this.cursor>=i?this.cursor+=e:this.cursor>t&&(this.cursor=t),e},slice_check:function(){if(this.bra<0||this.bra>this.ket||this.ket>this.limit||this.limit>r.length)throw"faulty slice operation"},slice_from:function(r){this.slice_check(),this.replace_s(this.bra,this.ket,r)},slice_del:function(){this.slice_from("")},insert:function(r,t,i){var s=this.replace_s(r,t,i);r<=this.bra&&(this.bra+=s),r<=this.ket&&(this.ket+=s)},slice_to:function(){return this.slice_check(),r.substring(this.bra,this.ket)},eq_v_b:function(r){return this.eq_s_b(r.length,r)}}}},r.trimmerSupport={generateTrimmer:function(r){var t=new RegExp("^[^"+r+"]+"),i=new RegExp("[^"+r+"]+$");return function(r){return"function"==typeof r.update?r.update(function(r){return r.replace(t,"").replace(i,"")}):r.replace(t,"").replace(i,"")}}}}});
|
||||
@@ -0,0 +1,18 @@
|
||||
/*!
|
||||
* Lunr languages, `Swedish` language
|
||||
* https://github.com/MihaiValentin/lunr-languages
|
||||
*
|
||||
* Copyright 2014, Mihai Valentin
|
||||
* http://www.mozilla.org/MPL/
|
||||
*/
|
||||
/*!
|
||||
* based on
|
||||
* Snowball JavaScript Library v0.3
|
||||
* http://code.google.com/p/urim/
|
||||
* http://snowball.tartarus.org/
|
||||
*
|
||||
* Copyright 2010, Oleg Mazko
|
||||
* http://www.mozilla.org/MPL/
|
||||
*/
|
||||
|
||||
!function(e,r){"function"==typeof define&&define.amd?define(r):"object"==typeof exports?module.exports=r():r()(e.lunr)}(this,function(){return function(e){if(void 0===e)throw new Error("Lunr is not present. Please include / require Lunr before this script.");if(void 0===e.stemmerSupport)throw new Error("Lunr stemmer support is not present. Please include / require Lunr stemmer support before this script.");e.sv=function(){this.pipeline.reset(),this.pipeline.add(e.sv.trimmer,e.sv.stopWordFilter,e.sv.stemmer),this.searchPipeline&&(this.searchPipeline.reset(),this.searchPipeline.add(e.sv.stemmer))},e.sv.wordCharacters="A-Za-zªºÀ-ÖØ-öø-ʸˠ-ˤᴀ-ᴥᴬ-ᵜᵢ-ᵥᵫ-ᵷᵹ-ᶾḀ-ỿⁱⁿₐ-ₜKÅℲⅎⅠ-ↈⱠ-ⱿꜢ-ꞇꞋ-ꞭꞰ-ꞷꟷ-ꟿꬰ-ꭚꭜ-ꭤff-stA-Za-z",e.sv.trimmer=e.trimmerSupport.generateTrimmer(e.sv.wordCharacters),e.Pipeline.registerFunction(e.sv.trimmer,"trimmer-sv"),e.sv.stemmer=function(){var r=e.stemmerSupport.Among,n=e.stemmerSupport.SnowballProgram,t=new function(){function e(){var e,r=w.cursor+3;if(o=w.limit,0<=r||r<=w.limit){for(a=r;;){if(e=w.cursor,w.in_grouping(l,97,246)){w.cursor=e;break}if(w.cursor=e,w.cursor>=w.limit)return;w.cursor++}for(;!w.out_grouping(l,97,246);){if(w.cursor>=w.limit)return;w.cursor++}o=w.cursor,o<a&&(o=a)}}function t(){var e,r=w.limit_backward;if(w.cursor>=o&&(w.limit_backward=o,w.cursor=w.limit,w.ket=w.cursor,e=w.find_among_b(u,37),w.limit_backward=r,e))switch(w.bra=w.cursor,e){case 1:w.slice_del();break;case 2:w.in_grouping_b(d,98,121)&&w.slice_del()}}function i(){var e=w.limit_backward;w.cursor>=o&&(w.limit_backward=o,w.cursor=w.limit,w.find_among_b(c,7)&&(w.cursor=w.limit,w.ket=w.cursor,w.cursor>w.limit_backward&&(w.bra=--w.cursor,w.slice_del())),w.limit_backward=e)}function s(){var e,r;if(w.cursor>=o){if(r=w.limit_backward,w.limit_backward=o,w.cursor=w.limit,w.ket=w.cursor,e=w.find_among_b(m,5))switch(w.bra=w.cursor,e){case 1:w.slice_del();break;case 2:w.slice_from("lös");break;case 3:w.slice_from("full")}w.limit_backward=r}}var a,o,u=[new r("a",-1,1),new r("arna",0,1),new r("erna",0,1),new r("heterna",2,1),new r("orna",0,1),new r("ad",-1,1),new r("e",-1,1),new r("ade",6,1),new r("ande",6,1),new r("arne",6,1),new r("are",6,1),new r("aste",6,1),new r("en",-1,1),new r("anden",12,1),new r("aren",12,1),new r("heten",12,1),new r("ern",-1,1),new r("ar",-1,1),new r("er",-1,1),new r("heter",18,1),new r("or",-1,1),new r("s",-1,2),new r("as",21,1),new r("arnas",22,1),new r("ernas",22,1),new r("ornas",22,1),new r("es",21,1),new r("ades",26,1),new r("andes",26,1),new r("ens",21,1),new r("arens",29,1),new r("hetens",29,1),new r("erns",21,1),new r("at",-1,1),new r("andet",-1,1),new r("het",-1,1),new r("ast",-1,1)],c=[new r("dd",-1,-1),new r("gd",-1,-1),new r("nn",-1,-1),new r("dt",-1,-1),new r("gt",-1,-1),new r("kt",-1,-1),new r("tt",-1,-1)],m=[new r("ig",-1,1),new r("lig",0,1),new r("els",-1,1),new r("fullt",-1,3),new r("löst",-1,2)],l=[17,65,16,1,0,0,0,0,0,0,0,0,0,0,0,0,24,0,32],d=[119,127,149],w=new n;this.setCurrent=function(e){w.setCurrent(e)},this.getCurrent=function(){return w.getCurrent()},this.stem=function(){var r=w.cursor;return e(),w.limit_backward=r,w.cursor=w.limit,t(),w.cursor=w.limit,i(),w.cursor=w.limit,s(),!0}};return function(e){return"function"==typeof e.update?e.update(function(e){return t.setCurrent(e),t.stem(),t.getCurrent()}):(t.setCurrent(e),t.stem(),t.getCurrent())}}(),e.Pipeline.registerFunction(e.sv.stemmer,"stemmer-sv"),e.sv.stopWordFilter=e.generateStopWordFilter("alla allt att av blev bli blir blivit de dem den denna deras dess dessa det detta dig din dina ditt du där då efter ej eller en er era ert ett från för ha hade han hans har henne hennes hon honom hur här i icke ingen inom inte jag ju kan kunde man med mellan men mig min mina mitt mot mycket ni nu när någon något några och om oss på samma sedan sig sin sina sitta själv skulle som så sådan sådana sådant till under upp ut utan vad var vara varför varit varje vars vart vem vi vid vilka vilkas vilken vilket vår våra vårt än är åt över".split(" ")),e.Pipeline.registerFunction(e.sv.stopWordFilter,"stopWordFilter-sv")}});
|
||||
@@ -0,0 +1 @@
|
||||
!function(e,t){"function"==typeof define&&define.amd?define(t):"object"==typeof exports?module.exports=t():t()(e.lunr)}(this,function(){return function(e){if(void 0===e)throw new Error("Lunr is not present. Please include / require Lunr before this script.");if(void 0===e.stemmerSupport)throw new Error("Lunr stemmer support is not present. Please include / require Lunr stemmer support before this script.");e.ta=function(){this.pipeline.reset(),this.pipeline.add(e.ta.trimmer,e.ta.stopWordFilter,e.ta.stemmer),this.searchPipeline&&(this.searchPipeline.reset(),this.searchPipeline.add(e.ta.stemmer))},e.ta.wordCharacters="-உஊ-ஏஐ-ஙச-ட-னப-யர-ஹ-ிீ-ொ-ௐ---௩௪-௯௰-௹௺-a-zA-Za-zA-Z0-90-9",e.ta.trimmer=e.trimmerSupport.generateTrimmer(e.ta.wordCharacters),e.Pipeline.registerFunction(e.ta.trimmer,"trimmer-ta"),e.ta.stopWordFilter=e.generateStopWordFilter("அங்கு அங்கே அது அதை அந்த அவர் அவர்கள் அவள் அவன் அவை ஆக ஆகவே ஆகையால் ஆதலால் ஆதலினால் ஆனாலும் ஆனால் இங்கு இங்கே இது இதை இந்த இப்படி இவர் இவர்கள் இவள் இவன் இவை இவ்வளவு உனக்கு உனது உன் உன்னால் எங்கு எங்கே எது எதை எந்த எப்படி எவர் எவர்கள் எவள் எவன் எவை எவ்வளவு எனக்கு எனது எனவே என் என்ன என்னால் ஏது ஏன் தனது தன்னால் தானே தான் நாங்கள் நாம் நான் நீ நீங்கள்".split(" ")),e.ta.stemmer=function(){return function(e){return"function"==typeof e.update?e.update(function(e){return e}):e}}();var t=e.wordcut;t.init(),e.ta.tokenizer=function(r){if(!arguments.length||null==r||void 0==r)return[];if(Array.isArray(r))return r.map(function(t){return isLunr2?new e.Token(t.toLowerCase()):t.toLowerCase()});var i=r.toString().toLowerCase().replace(/^\s+/,"");return t.cut(i).split("|")},e.Pipeline.registerFunction(e.ta.stemmer,"stemmer-ta"),e.Pipeline.registerFunction(e.ta.stopWordFilter,"stopWordFilter-ta")}});
|
||||
@@ -0,0 +1 @@
|
||||
!function(e,t){"function"==typeof define&&define.amd?define(t):"object"==typeof exports?module.exports=t():t()(e.lunr)}(this,function(){return function(e){if(void 0===e)throw new Error("Lunr is not present. Please include / require Lunr before this script.");if(void 0===e.stemmerSupport)throw new Error("Lunr stemmer support is not present. Please include / require Lunr stemmer support before this script.");e.te=function(){this.pipeline.reset(),this.pipeline.add(e.te.trimmer,e.te.stopWordFilter,e.te.stemmer),this.searchPipeline&&(this.searchPipeline.reset(),this.searchPipeline.add(e.te.stemmer))},e.te.wordCharacters="ఀ-ఄఅ-ఔక-హా-ౌౕ-ౖౘ-ౚౠ-ౡౢ-ౣ౦-౯౸-౿఼ఽ్ౝ౷",e.te.trimmer=e.trimmerSupport.generateTrimmer(e.te.wordCharacters),e.Pipeline.registerFunction(e.te.trimmer,"trimmer-te"),e.te.stopWordFilter=e.generateStopWordFilter("అందరూ అందుబాటులో అడగండి అడగడం అడ్డంగా అనుగుణంగా అనుమతించు అనుమతిస్తుంది అయితే ఇప్పటికే ఉన్నారు ఎక్కడైనా ఎప్పుడు ఎవరైనా ఎవరో ఏ ఏదైనా ఏమైనప్పటికి ఒక ఒకరు కనిపిస్తాయి కాదు కూడా గా గురించి చుట్టూ చేయగలిగింది తగిన తర్వాత దాదాపు దూరంగా నిజంగా పై ప్రకారం ప్రక్కన మధ్య మరియు మరొక మళ్ళీ మాత్రమే మెచ్చుకో వద్ద వెంట వేరుగా వ్యతిరేకంగా సంబంధం".split(" ")),e.te.stemmer=function(){return function(e){return"function"==typeof e.update?e.update(function(e){return e}):e}}();var t=e.wordcut;t.init(),e.te.tokenizer=function(r){if(!arguments.length||null==r||void 0==r)return[];if(Array.isArray(r))return r.map(function(t){return isLunr2?new e.Token(t.toLowerCase()):t.toLowerCase()});var i=r.toString().toLowerCase().replace(/^\s+/,"");return t.cut(i).split("|")},e.Pipeline.registerFunction(e.te.stemmer,"stemmer-te"),e.Pipeline.registerFunction(e.te.stopWordFilter,"stopWordFilter-te")}});
|
||||
@@ -0,0 +1 @@
|
||||
!function(e,r){"function"==typeof define&&define.amd?define(r):"object"==typeof exports?module.exports=r():r()(e.lunr)}(this,function(){return function(e){if(void 0===e)throw new Error("Lunr is not present. Please include / require Lunr before this script.");if(void 0===e.stemmerSupport)throw new Error("Lunr stemmer support is not present. Please include / require Lunr stemmer support before this script.");var r="2"==e.version[0];e.th=function(){this.pipeline.reset(),this.pipeline.add(e.th.trimmer),r?this.tokenizer=e.th.tokenizer:(e.tokenizer&&(e.tokenizer=e.th.tokenizer),this.tokenizerFn&&(this.tokenizerFn=e.th.tokenizer))},e.th.wordCharacters="[-]",e.th.trimmer=e.trimmerSupport.generateTrimmer(e.th.wordCharacters),e.Pipeline.registerFunction(e.th.trimmer,"trimmer-th");var t=e.wordcut;t.init(),e.th.tokenizer=function(i){if(!arguments.length||null==i||void 0==i)return[];if(Array.isArray(i))return i.map(function(t){return r?new e.Token(t):t});var n=i.toString().replace(/^\s+/,"");return t.cut(n).split("|")}}});
|
||||
File diff suppressed because one or more lines are too long
@@ -0,0 +1 @@
|
||||
!function(e,r){"function"==typeof define&&define.amd?define(r):"object"==typeof exports?module.exports=r():r()(e.lunr)}(this,function(){return function(e){if(void 0===e)throw new Error("Lunr is not present. Please include / require Lunr before this script.");if(void 0===e.stemmerSupport)throw new Error("Lunr stemmer support is not present. Please include / require Lunr stemmer support before this script.");e.vi=function(){this.pipeline.reset(),this.pipeline.add(e.vi.stopWordFilter,e.vi.trimmer)},e.vi.wordCharacters="[A-Za-ẓ̀͐́͑̉̃̓ÂâÊêÔôĂ-ăĐ-đƠ-ơƯ-ư]",e.vi.trimmer=e.trimmerSupport.generateTrimmer(e.vi.wordCharacters),e.Pipeline.registerFunction(e.vi.trimmer,"trimmer-vi"),e.vi.stopWordFilter=e.generateStopWordFilter("là cái nhưng mà".split(" "))}});
|
||||
@@ -0,0 +1 @@
|
||||
!function(e,r){"function"==typeof define&&define.amd?define(r):"object"==typeof exports?module.exports=r(require("@node-rs/jieba")):r()(e.lunr)}(this,function(e){return function(r,t){if(void 0===r)throw new Error("Lunr is not present. Please include / require Lunr before this script.");if(void 0===r.stemmerSupport)throw new Error("Lunr stemmer support is not present. Please include / require Lunr stemmer support before this script.");var i="2"==r.version[0];r.zh=function(){this.pipeline.reset(),this.pipeline.add(r.zh.trimmer,r.zh.stopWordFilter,r.zh.stemmer),i?this.tokenizer=r.zh.tokenizer:(r.tokenizer&&(r.tokenizer=r.zh.tokenizer),this.tokenizerFn&&(this.tokenizerFn=r.zh.tokenizer))},r.zh.tokenizer=function(n){if(!arguments.length||null==n||void 0==n)return[];if(Array.isArray(n))return n.map(function(e){return i?new r.Token(e.toLowerCase()):e.toLowerCase()});t&&e.load(t);var o=n.toString().trim().toLowerCase(),s=[];e.cut(o,!0).forEach(function(e){s=s.concat(e.split(" "))}),s=s.filter(function(e){return!!e});var u=0;return s.map(function(e,t){if(i){var n=o.indexOf(e,u),s={};return s.position=[n,e.length],s.index=t,u=n,new r.Token(e,s)}return e})},r.zh.wordCharacters="\\w一-龥",r.zh.trimmer=r.trimmerSupport.generateTrimmer(r.zh.wordCharacters),r.Pipeline.registerFunction(r.zh.trimmer,"trimmer-zh"),r.zh.stemmer=function(){return function(e){return e}}(),r.Pipeline.registerFunction(r.zh.stemmer,"stemmer-zh"),r.zh.stopWordFilter=r.generateStopWordFilter("的 一 不 在 人 有 是 为 為 以 于 於 上 他 而 后 後 之 来 來 及 了 因 下 可 到 由 这 這 与 與 也 此 但 并 並 个 個 其 已 无 無 小 我 们 們 起 最 再 今 去 好 只 又 或 很 亦 某 把 那 你 乃 它 吧 被 比 别 趁 当 當 从 從 得 打 凡 儿 兒 尔 爾 该 該 各 给 給 跟 和 何 还 還 即 几 幾 既 看 据 據 距 靠 啦 另 么 麽 每 嘛 拿 哪 您 凭 憑 且 却 卻 让 讓 仍 啥 如 若 使 谁 誰 虽 雖 随 隨 同 所 她 哇 嗡 往 些 向 沿 哟 喲 用 咱 则 則 怎 曾 至 致 着 著 诸 諸 自".split(" ")),r.Pipeline.registerFunction(r.zh.stopWordFilter,"stopWordFilter-zh")}});
|
||||
@@ -0,0 +1,206 @@
|
||||
/**
|
||||
* export the module via AMD, CommonJS or as a browser global
|
||||
* Export code from https://github.com/umdjs/umd/blob/master/returnExports.js
|
||||
*/
|
||||
;(function (root, factory) {
|
||||
if (typeof define === 'function' && define.amd) {
|
||||
// AMD. Register as an anonymous module.
|
||||
define(factory)
|
||||
} else if (typeof exports === 'object') {
|
||||
/**
|
||||
* Node. Does not work with strict CommonJS, but
|
||||
* only CommonJS-like environments that support module.exports,
|
||||
* like Node.
|
||||
*/
|
||||
module.exports = factory()
|
||||
} else {
|
||||
// Browser globals (root is window)
|
||||
factory()(root.lunr);
|
||||
}
|
||||
}(this, function () {
|
||||
/**
|
||||
* Just return a value to define the module export.
|
||||
* This example returns an object, but the module
|
||||
* can return a function as the exported value.
|
||||
*/
|
||||
|
||||
return function(lunr) {
|
||||
// TinySegmenter 0.1 -- Super compact Japanese tokenizer in Javascript
|
||||
// (c) 2008 Taku Kudo <taku@chasen.org>
|
||||
// TinySegmenter is freely distributable under the terms of a new BSD licence.
|
||||
// For details, see http://chasen.org/~taku/software/TinySegmenter/LICENCE.txt
|
||||
|
||||
function TinySegmenter() {
|
||||
var patterns = {
|
||||
"[一二三四五六七八九十百千万億兆]":"M",
|
||||
"[一-龠々〆ヵヶ]":"H",
|
||||
"[ぁ-ん]":"I",
|
||||
"[ァ-ヴーア-ン゙ー]":"K",
|
||||
"[a-zA-Za-zA-Z]":"A",
|
||||
"[0-90-9]":"N"
|
||||
}
|
||||
this.chartype_ = [];
|
||||
for (var i in patterns) {
|
||||
var regexp = new RegExp(i);
|
||||
this.chartype_.push([regexp, patterns[i]]);
|
||||
}
|
||||
|
||||
this.BIAS__ = -332
|
||||
this.BC1__ = {"HH":6,"II":2461,"KH":406,"OH":-1378};
|
||||
this.BC2__ = {"AA":-3267,"AI":2744,"AN":-878,"HH":-4070,"HM":-1711,"HN":4012,"HO":3761,"IA":1327,"IH":-1184,"II":-1332,"IK":1721,"IO":5492,"KI":3831,"KK":-8741,"MH":-3132,"MK":3334,"OO":-2920};
|
||||
this.BC3__ = {"HH":996,"HI":626,"HK":-721,"HN":-1307,"HO":-836,"IH":-301,"KK":2762,"MK":1079,"MM":4034,"OA":-1652,"OH":266};
|
||||
this.BP1__ = {"BB":295,"OB":304,"OO":-125,"UB":352};
|
||||
this.BP2__ = {"BO":60,"OO":-1762};
|
||||
this.BQ1__ = {"BHH":1150,"BHM":1521,"BII":-1158,"BIM":886,"BMH":1208,"BNH":449,"BOH":-91,"BOO":-2597,"OHI":451,"OIH":-296,"OKA":1851,"OKH":-1020,"OKK":904,"OOO":2965};
|
||||
this.BQ2__ = {"BHH":118,"BHI":-1159,"BHM":466,"BIH":-919,"BKK":-1720,"BKO":864,"OHH":-1139,"OHM":-181,"OIH":153,"UHI":-1146};
|
||||
this.BQ3__ = {"BHH":-792,"BHI":2664,"BII":-299,"BKI":419,"BMH":937,"BMM":8335,"BNN":998,"BOH":775,"OHH":2174,"OHM":439,"OII":280,"OKH":1798,"OKI":-793,"OKO":-2242,"OMH":-2402,"OOO":11699};
|
||||
this.BQ4__ = {"BHH":-3895,"BIH":3761,"BII":-4654,"BIK":1348,"BKK":-1806,"BMI":-3385,"BOO":-12396,"OAH":926,"OHH":266,"OHK":-2036,"ONN":-973};
|
||||
this.BW1__ = {",と":660,",同":727,"B1あ":1404,"B1同":542,"、と":660,"、同":727,"」と":1682,"あっ":1505,"いう":1743,"いっ":-2055,"いる":672,"うし":-4817,"うん":665,"から":3472,"がら":600,"こう":-790,"こと":2083,"こん":-1262,"さら":-4143,"さん":4573,"した":2641,"して":1104,"すで":-3399,"そこ":1977,"それ":-871,"たち":1122,"ため":601,"った":3463,"つい":-802,"てい":805,"てき":1249,"でき":1127,"です":3445,"では":844,"とい":-4915,"とみ":1922,"どこ":3887,"ない":5713,"なっ":3015,"など":7379,"なん":-1113,"にし":2468,"には":1498,"にも":1671,"に対":-912,"の一":-501,"の中":741,"ませ":2448,"まで":1711,"まま":2600,"まる":-2155,"やむ":-1947,"よっ":-2565,"れた":2369,"れで":-913,"をし":1860,"を見":731,"亡く":-1886,"京都":2558,"取り":-2784,"大き":-2604,"大阪":1497,"平方":-2314,"引き":-1336,"日本":-195,"本当":-2423,"毎日":-2113,"目指":-724,"B1あ":1404,"B1同":542,"」と":1682};
|
||||
this.BW2__ = {"..":-11822,"11":-669,"――":-5730,"−−":-13175,"いう":-1609,"うか":2490,"かし":-1350,"かも":-602,"から":-7194,"かれ":4612,"がい":853,"がら":-3198,"きた":1941,"くな":-1597,"こと":-8392,"この":-4193,"させ":4533,"され":13168,"さん":-3977,"しい":-1819,"しか":-545,"した":5078,"して":972,"しな":939,"その":-3744,"たい":-1253,"たた":-662,"ただ":-3857,"たち":-786,"たと":1224,"たは":-939,"った":4589,"って":1647,"っと":-2094,"てい":6144,"てき":3640,"てく":2551,"ては":-3110,"ても":-3065,"でい":2666,"でき":-1528,"でし":-3828,"です":-4761,"でも":-4203,"とい":1890,"とこ":-1746,"とと":-2279,"との":720,"とみ":5168,"とも":-3941,"ない":-2488,"なが":-1313,"など":-6509,"なの":2614,"なん":3099,"にお":-1615,"にし":2748,"にな":2454,"によ":-7236,"に対":-14943,"に従":-4688,"に関":-11388,"のか":2093,"ので":-7059,"のに":-6041,"のの":-6125,"はい":1073,"はが":-1033,"はず":-2532,"ばれ":1813,"まし":-1316,"まで":-6621,"まれ":5409,"めて":-3153,"もい":2230,"もの":-10713,"らか":-944,"らし":-1611,"らに":-1897,"りし":651,"りま":1620,"れた":4270,"れて":849,"れば":4114,"ろう":6067,"われ":7901,"を通":-11877,"んだ":728,"んな":-4115,"一人":602,"一方":-1375,"一日":970,"一部":-1051,"上が":-4479,"会社":-1116,"出て":2163,"分の":-7758,"同党":970,"同日":-913,"大阪":-2471,"委員":-1250,"少な":-1050,"年度":-8669,"年間":-1626,"府県":-2363,"手権":-1982,"新聞":-4066,"日新":-722,"日本":-7068,"日米":3372,"曜日":-601,"朝鮮":-2355,"本人":-2697,"東京":-1543,"然と":-1384,"社会":-1276,"立て":-990,"第に":-1612,"米国":-4268,"11":-669};
|
||||
this.BW3__ = {"あた":-2194,"あり":719,"ある":3846,"い.":-1185,"い。":-1185,"いい":5308,"いえ":2079,"いく":3029,"いた":2056,"いっ":1883,"いる":5600,"いわ":1527,"うち":1117,"うと":4798,"えと":1454,"か.":2857,"か。":2857,"かけ":-743,"かっ":-4098,"かに":-669,"から":6520,"かり":-2670,"が,":1816,"が、":1816,"がき":-4855,"がけ":-1127,"がっ":-913,"がら":-4977,"がり":-2064,"きた":1645,"けど":1374,"こと":7397,"この":1542,"ころ":-2757,"さい":-714,"さを":976,"し,":1557,"し、":1557,"しい":-3714,"した":3562,"して":1449,"しな":2608,"しま":1200,"す.":-1310,"す。":-1310,"する":6521,"ず,":3426,"ず、":3426,"ずに":841,"そう":428,"た.":8875,"た。":8875,"たい":-594,"たの":812,"たり":-1183,"たる":-853,"だ.":4098,"だ。":4098,"だっ":1004,"った":-4748,"って":300,"てい":6240,"てお":855,"ても":302,"です":1437,"でに":-1482,"では":2295,"とう":-1387,"とし":2266,"との":541,"とも":-3543,"どう":4664,"ない":1796,"なく":-903,"など":2135,"に,":-1021,"に、":-1021,"にし":1771,"にな":1906,"には":2644,"の,":-724,"の、":-724,"の子":-1000,"は,":1337,"は、":1337,"べき":2181,"まし":1113,"ます":6943,"まっ":-1549,"まで":6154,"まれ":-793,"らし":1479,"られ":6820,"るる":3818,"れ,":854,"れ、":854,"れた":1850,"れて":1375,"れば":-3246,"れる":1091,"われ":-605,"んだ":606,"んで":798,"カ月":990,"会議":860,"入り":1232,"大会":2217,"始め":1681,"市":965,"新聞":-5055,"日,":974,"日、":974,"社会":2024,"カ月":990};
|
||||
this.TC1__ = {"AAA":1093,"HHH":1029,"HHM":580,"HII":998,"HOH":-390,"HOM":-331,"IHI":1169,"IOH":-142,"IOI":-1015,"IOM":467,"MMH":187,"OOI":-1832};
|
||||
this.TC2__ = {"HHO":2088,"HII":-1023,"HMM":-1154,"IHI":-1965,"KKH":703,"OII":-2649};
|
||||
this.TC3__ = {"AAA":-294,"HHH":346,"HHI":-341,"HII":-1088,"HIK":731,"HOH":-1486,"IHH":128,"IHI":-3041,"IHO":-1935,"IIH":-825,"IIM":-1035,"IOI":-542,"KHH":-1216,"KKA":491,"KKH":-1217,"KOK":-1009,"MHH":-2694,"MHM":-457,"MHO":123,"MMH":-471,"NNH":-1689,"NNO":662,"OHO":-3393};
|
||||
this.TC4__ = {"HHH":-203,"HHI":1344,"HHK":365,"HHM":-122,"HHN":182,"HHO":669,"HIH":804,"HII":679,"HOH":446,"IHH":695,"IHO":-2324,"IIH":321,"III":1497,"IIO":656,"IOO":54,"KAK":4845,"KKA":3386,"KKK":3065,"MHH":-405,"MHI":201,"MMH":-241,"MMM":661,"MOM":841};
|
||||
this.TQ1__ = {"BHHH":-227,"BHHI":316,"BHIH":-132,"BIHH":60,"BIII":1595,"BNHH":-744,"BOHH":225,"BOOO":-908,"OAKK":482,"OHHH":281,"OHIH":249,"OIHI":200,"OIIH":-68};
|
||||
this.TQ2__ = {"BIHH":-1401,"BIII":-1033,"BKAK":-543,"BOOO":-5591};
|
||||
this.TQ3__ = {"BHHH":478,"BHHM":-1073,"BHIH":222,"BHII":-504,"BIIH":-116,"BIII":-105,"BMHI":-863,"BMHM":-464,"BOMH":620,"OHHH":346,"OHHI":1729,"OHII":997,"OHMH":481,"OIHH":623,"OIIH":1344,"OKAK":2792,"OKHH":587,"OKKA":679,"OOHH":110,"OOII":-685};
|
||||
this.TQ4__ = {"BHHH":-721,"BHHM":-3604,"BHII":-966,"BIIH":-607,"BIII":-2181,"OAAA":-2763,"OAKK":180,"OHHH":-294,"OHHI":2446,"OHHO":480,"OHIH":-1573,"OIHH":1935,"OIHI":-493,"OIIH":626,"OIII":-4007,"OKAK":-8156};
|
||||
this.TW1__ = {"につい":-4681,"東京都":2026};
|
||||
this.TW2__ = {"ある程":-2049,"いった":-1256,"ころが":-2434,"しょう":3873,"その後":-4430,"だって":-1049,"ていた":1833,"として":-4657,"ともに":-4517,"もので":1882,"一気に":-792,"初めて":-1512,"同時に":-8097,"大きな":-1255,"対して":-2721,"社会党":-3216};
|
||||
this.TW3__ = {"いただ":-1734,"してい":1314,"として":-4314,"につい":-5483,"にとっ":-5989,"に当た":-6247,"ので,":-727,"ので、":-727,"のもの":-600,"れから":-3752,"十二月":-2287};
|
||||
this.TW4__ = {"いう.":8576,"いう。":8576,"からな":-2348,"してい":2958,"たが,":1516,"たが、":1516,"ている":1538,"という":1349,"ました":5543,"ません":1097,"ようと":-4258,"よると":5865};
|
||||
this.UC1__ = {"A":484,"K":93,"M":645,"O":-505};
|
||||
this.UC2__ = {"A":819,"H":1059,"I":409,"M":3987,"N":5775,"O":646};
|
||||
this.UC3__ = {"A":-1370,"I":2311};
|
||||
this.UC4__ = {"A":-2643,"H":1809,"I":-1032,"K":-3450,"M":3565,"N":3876,"O":6646};
|
||||
this.UC5__ = {"H":313,"I":-1238,"K":-799,"M":539,"O":-831};
|
||||
this.UC6__ = {"H":-506,"I":-253,"K":87,"M":247,"O":-387};
|
||||
this.UP1__ = {"O":-214};
|
||||
this.UP2__ = {"B":69,"O":935};
|
||||
this.UP3__ = {"B":189};
|
||||
this.UQ1__ = {"BH":21,"BI":-12,"BK":-99,"BN":142,"BO":-56,"OH":-95,"OI":477,"OK":410,"OO":-2422};
|
||||
this.UQ2__ = {"BH":216,"BI":113,"OK":1759};
|
||||
this.UQ3__ = {"BA":-479,"BH":42,"BI":1913,"BK":-7198,"BM":3160,"BN":6427,"BO":14761,"OI":-827,"ON":-3212};
|
||||
this.UW1__ = {",":156,"、":156,"「":-463,"あ":-941,"う":-127,"が":-553,"き":121,"こ":505,"で":-201,"と":-547,"ど":-123,"に":-789,"の":-185,"は":-847,"も":-466,"や":-470,"よ":182,"ら":-292,"り":208,"れ":169,"を":-446,"ん":-137,"・":-135,"主":-402,"京":-268,"区":-912,"午":871,"国":-460,"大":561,"委":729,"市":-411,"日":-141,"理":361,"生":-408,"県":-386,"都":-718,"「":-463,"・":-135};
|
||||
this.UW2__ = {",":-829,"、":-829,"〇":892,"「":-645,"」":3145,"あ":-538,"い":505,"う":134,"お":-502,"か":1454,"が":-856,"く":-412,"こ":1141,"さ":878,"ざ":540,"し":1529,"す":-675,"せ":300,"そ":-1011,"た":188,"だ":1837,"つ":-949,"て":-291,"で":-268,"と":-981,"ど":1273,"な":1063,"に":-1764,"の":130,"は":-409,"ひ":-1273,"べ":1261,"ま":600,"も":-1263,"や":-402,"よ":1639,"り":-579,"る":-694,"れ":571,"を":-2516,"ん":2095,"ア":-587,"カ":306,"キ":568,"ッ":831,"三":-758,"不":-2150,"世":-302,"中":-968,"主":-861,"事":492,"人":-123,"会":978,"保":362,"入":548,"初":-3025,"副":-1566,"北":-3414,"区":-422,"大":-1769,"天":-865,"太":-483,"子":-1519,"学":760,"実":1023,"小":-2009,"市":-813,"年":-1060,"強":1067,"手":-1519,"揺":-1033,"政":1522,"文":-1355,"新":-1682,"日":-1815,"明":-1462,"最":-630,"朝":-1843,"本":-1650,"東":-931,"果":-665,"次":-2378,"民":-180,"気":-1740,"理":752,"発":529,"目":-1584,"相":-242,"県":-1165,"立":-763,"第":810,"米":509,"自":-1353,"行":838,"西":-744,"見":-3874,"調":1010,"議":1198,"込":3041,"開":1758,"間":-1257,"「":-645,"」":3145,"ッ":831,"ア":-587,"カ":306,"キ":568};
|
||||
this.UW3__ = {",":4889,"1":-800,"−":-1723,"、":4889,"々":-2311,"〇":5827,"」":2670,"〓":-3573,"あ":-2696,"い":1006,"う":2342,"え":1983,"お":-4864,"か":-1163,"が":3271,"く":1004,"け":388,"げ":401,"こ":-3552,"ご":-3116,"さ":-1058,"し":-395,"す":584,"せ":3685,"そ":-5228,"た":842,"ち":-521,"っ":-1444,"つ":-1081,"て":6167,"で":2318,"と":1691,"ど":-899,"な":-2788,"に":2745,"の":4056,"は":4555,"ひ":-2171,"ふ":-1798,"へ":1199,"ほ":-5516,"ま":-4384,"み":-120,"め":1205,"も":2323,"や":-788,"よ":-202,"ら":727,"り":649,"る":5905,"れ":2773,"わ":-1207,"を":6620,"ん":-518,"ア":551,"グ":1319,"ス":874,"ッ":-1350,"ト":521,"ム":1109,"ル":1591,"ロ":2201,"ン":278,"・":-3794,"一":-1619,"下":-1759,"世":-2087,"両":3815,"中":653,"主":-758,"予":-1193,"二":974,"人":2742,"今":792,"他":1889,"以":-1368,"低":811,"何":4265,"作":-361,"保":-2439,"元":4858,"党":3593,"全":1574,"公":-3030,"六":755,"共":-1880,"円":5807,"再":3095,"分":457,"初":2475,"別":1129,"前":2286,"副":4437,"力":365,"動":-949,"務":-1872,"化":1327,"北":-1038,"区":4646,"千":-2309,"午":-783,"協":-1006,"口":483,"右":1233,"各":3588,"合":-241,"同":3906,"和":-837,"員":4513,"国":642,"型":1389,"場":1219,"外":-241,"妻":2016,"学":-1356,"安":-423,"実":-1008,"家":1078,"小":-513,"少":-3102,"州":1155,"市":3197,"平":-1804,"年":2416,"広":-1030,"府":1605,"度":1452,"建":-2352,"当":-3885,"得":1905,"思":-1291,"性":1822,"戸":-488,"指":-3973,"政":-2013,"教":-1479,"数":3222,"文":-1489,"新":1764,"日":2099,"旧":5792,"昨":-661,"時":-1248,"曜":-951,"最":-937,"月":4125,"期":360,"李":3094,"村":364,"東":-805,"核":5156,"森":2438,"業":484,"氏":2613,"民":-1694,"決":-1073,"法":1868,"海":-495,"無":979,"物":461,"特":-3850,"生":-273,"用":914,"町":1215,"的":7313,"直":-1835,"省":792,"県":6293,"知":-1528,"私":4231,"税":401,"立":-960,"第":1201,"米":7767,"系":3066,"約":3663,"級":1384,"統":-4229,"総":1163,"線":1255,"者":6457,"能":725,"自":-2869,"英":785,"見":1044,"調":-562,"財":-733,"費":1777,"車":1835,"軍":1375,"込":-1504,"通":-1136,"選":-681,"郎":1026,"郡":4404,"部":1200,"金":2163,"長":421,"開":-1432,"間":1302,"関":-1282,"雨":2009,"電":-1045,"非":2066,"駅":1620,"1":-800,"」":2670,"・":-3794,"ッ":-1350,"ア":551,"グ":1319,"ス":874,"ト":521,"ム":1109,"ル":1591,"ロ":2201,"ン":278};
|
||||
this.UW4__ = {",":3930,".":3508,"―":-4841,"、":3930,"。":3508,"〇":4999,"「":1895,"」":3798,"〓":-5156,"あ":4752,"い":-3435,"う":-640,"え":-2514,"お":2405,"か":530,"が":6006,"き":-4482,"ぎ":-3821,"く":-3788,"け":-4376,"げ":-4734,"こ":2255,"ご":1979,"さ":2864,"し":-843,"じ":-2506,"す":-731,"ず":1251,"せ":181,"そ":4091,"た":5034,"だ":5408,"ち":-3654,"っ":-5882,"つ":-1659,"て":3994,"で":7410,"と":4547,"な":5433,"に":6499,"ぬ":1853,"ね":1413,"の":7396,"は":8578,"ば":1940,"ひ":4249,"び":-4134,"ふ":1345,"へ":6665,"べ":-744,"ほ":1464,"ま":1051,"み":-2082,"む":-882,"め":-5046,"も":4169,"ゃ":-2666,"や":2795,"ょ":-1544,"よ":3351,"ら":-2922,"り":-9726,"る":-14896,"れ":-2613,"ろ":-4570,"わ":-1783,"を":13150,"ん":-2352,"カ":2145,"コ":1789,"セ":1287,"ッ":-724,"ト":-403,"メ":-1635,"ラ":-881,"リ":-541,"ル":-856,"ン":-3637,"・":-4371,"ー":-11870,"一":-2069,"中":2210,"予":782,"事":-190,"井":-1768,"人":1036,"以":544,"会":950,"体":-1286,"作":530,"側":4292,"先":601,"党":-2006,"共":-1212,"内":584,"円":788,"初":1347,"前":1623,"副":3879,"力":-302,"動":-740,"務":-2715,"化":776,"区":4517,"協":1013,"参":1555,"合":-1834,"和":-681,"員":-910,"器":-851,"回":1500,"国":-619,"園":-1200,"地":866,"場":-1410,"塁":-2094,"士":-1413,"多":1067,"大":571,"子":-4802,"学":-1397,"定":-1057,"寺":-809,"小":1910,"屋":-1328,"山":-1500,"島":-2056,"川":-2667,"市":2771,"年":374,"庁":-4556,"後":456,"性":553,"感":916,"所":-1566,"支":856,"改":787,"政":2182,"教":704,"文":522,"方":-856,"日":1798,"時":1829,"最":845,"月":-9066,"木":-485,"来":-442,"校":-360,"業":-1043,"氏":5388,"民":-2716,"気":-910,"沢":-939,"済":-543,"物":-735,"率":672,"球":-1267,"生":-1286,"産":-1101,"田":-2900,"町":1826,"的":2586,"目":922,"省":-3485,"県":2997,"空":-867,"立":-2112,"第":788,"米":2937,"系":786,"約":2171,"経":1146,"統":-1169,"総":940,"線":-994,"署":749,"者":2145,"能":-730,"般":-852,"行":-792,"規":792,"警":-1184,"議":-244,"谷":-1000,"賞":730,"車":-1481,"軍":1158,"輪":-1433,"込":-3370,"近":929,"道":-1291,"選":2596,"郎":-4866,"都":1192,"野":-1100,"銀":-2213,"長":357,"間":-2344,"院":-2297,"際":-2604,"電":-878,"領":-1659,"題":-792,"館":-1984,"首":1749,"高":2120,"「":1895,"」":3798,"・":-4371,"ッ":-724,"ー":-11870,"カ":2145,"コ":1789,"セ":1287,"ト":-403,"メ":-1635,"ラ":-881,"リ":-541,"ル":-856,"ン":-3637};
|
||||
this.UW5__ = {",":465,".":-299,"1":-514,"E2":-32768,"]":-2762,"、":465,"。":-299,"「":363,"あ":1655,"い":331,"う":-503,"え":1199,"お":527,"か":647,"が":-421,"き":1624,"ぎ":1971,"く":312,"げ":-983,"さ":-1537,"し":-1371,"す":-852,"だ":-1186,"ち":1093,"っ":52,"つ":921,"て":-18,"で":-850,"と":-127,"ど":1682,"な":-787,"に":-1224,"の":-635,"は":-578,"べ":1001,"み":502,"め":865,"ゃ":3350,"ょ":854,"り":-208,"る":429,"れ":504,"わ":419,"を":-1264,"ん":327,"イ":241,"ル":451,"ン":-343,"中":-871,"京":722,"会":-1153,"党":-654,"務":3519,"区":-901,"告":848,"員":2104,"大":-1296,"学":-548,"定":1785,"嵐":-1304,"市":-2991,"席":921,"年":1763,"思":872,"所":-814,"挙":1618,"新":-1682,"日":218,"月":-4353,"査":932,"格":1356,"機":-1508,"氏":-1347,"田":240,"町":-3912,"的":-3149,"相":1319,"省":-1052,"県":-4003,"研":-997,"社":-278,"空":-813,"統":1955,"者":-2233,"表":663,"語":-1073,"議":1219,"選":-1018,"郎":-368,"長":786,"間":1191,"題":2368,"館":-689,"1":-514,"E2":-32768,"「":363,"イ":241,"ル":451,"ン":-343};
|
||||
this.UW6__ = {",":227,".":808,"1":-270,"E1":306,"、":227,"。":808,"あ":-307,"う":189,"か":241,"が":-73,"く":-121,"こ":-200,"じ":1782,"す":383,"た":-428,"っ":573,"て":-1014,"で":101,"と":-105,"な":-253,"に":-149,"の":-417,"は":-236,"も":-206,"り":187,"る":-135,"を":195,"ル":-673,"ン":-496,"一":-277,"中":201,"件":-800,"会":624,"前":302,"区":1792,"員":-1212,"委":798,"学":-960,"市":887,"広":-695,"後":535,"業":-697,"相":753,"社":-507,"福":974,"空":-822,"者":1811,"連":463,"郎":1082,"1":-270,"E1":306,"ル":-673,"ン":-496};
|
||||
|
||||
return this;
|
||||
}
|
||||
TinySegmenter.prototype.ctype_ = function(str) {
|
||||
for (var i in this.chartype_) {
|
||||
if (str.match(this.chartype_[i][0])) {
|
||||
return this.chartype_[i][1];
|
||||
}
|
||||
}
|
||||
return "O";
|
||||
}
|
||||
|
||||
TinySegmenter.prototype.ts_ = function(v) {
|
||||
if (v) { return v; }
|
||||
return 0;
|
||||
}
|
||||
|
||||
TinySegmenter.prototype.segment = function(input) {
|
||||
if (input == null || input == undefined || input == "") {
|
||||
return [];
|
||||
}
|
||||
var result = [];
|
||||
var seg = ["B3","B2","B1"];
|
||||
var ctype = ["O","O","O"];
|
||||
var o = input.split("");
|
||||
for (i = 0; i < o.length; ++i) {
|
||||
seg.push(o[i]);
|
||||
ctype.push(this.ctype_(o[i]))
|
||||
}
|
||||
seg.push("E1");
|
||||
seg.push("E2");
|
||||
seg.push("E3");
|
||||
ctype.push("O");
|
||||
ctype.push("O");
|
||||
ctype.push("O");
|
||||
var word = seg[3];
|
||||
var p1 = "U";
|
||||
var p2 = "U";
|
||||
var p3 = "U";
|
||||
for (var i = 4; i < seg.length - 3; ++i) {
|
||||
var score = this.BIAS__;
|
||||
var w1 = seg[i-3];
|
||||
var w2 = seg[i-2];
|
||||
var w3 = seg[i-1];
|
||||
var w4 = seg[i];
|
||||
var w5 = seg[i+1];
|
||||
var w6 = seg[i+2];
|
||||
var c1 = ctype[i-3];
|
||||
var c2 = ctype[i-2];
|
||||
var c3 = ctype[i-1];
|
||||
var c4 = ctype[i];
|
||||
var c5 = ctype[i+1];
|
||||
var c6 = ctype[i+2];
|
||||
score += this.ts_(this.UP1__[p1]);
|
||||
score += this.ts_(this.UP2__[p2]);
|
||||
score += this.ts_(this.UP3__[p3]);
|
||||
score += this.ts_(this.BP1__[p1 + p2]);
|
||||
score += this.ts_(this.BP2__[p2 + p3]);
|
||||
score += this.ts_(this.UW1__[w1]);
|
||||
score += this.ts_(this.UW2__[w2]);
|
||||
score += this.ts_(this.UW3__[w3]);
|
||||
score += this.ts_(this.UW4__[w4]);
|
||||
score += this.ts_(this.UW5__[w5]);
|
||||
score += this.ts_(this.UW6__[w6]);
|
||||
score += this.ts_(this.BW1__[w2 + w3]);
|
||||
score += this.ts_(this.BW2__[w3 + w4]);
|
||||
score += this.ts_(this.BW3__[w4 + w5]);
|
||||
score += this.ts_(this.TW1__[w1 + w2 + w3]);
|
||||
score += this.ts_(this.TW2__[w2 + w3 + w4]);
|
||||
score += this.ts_(this.TW3__[w3 + w4 + w5]);
|
||||
score += this.ts_(this.TW4__[w4 + w5 + w6]);
|
||||
score += this.ts_(this.UC1__[c1]);
|
||||
score += this.ts_(this.UC2__[c2]);
|
||||
score += this.ts_(this.UC3__[c3]);
|
||||
score += this.ts_(this.UC4__[c4]);
|
||||
score += this.ts_(this.UC5__[c5]);
|
||||
score += this.ts_(this.UC6__[c6]);
|
||||
score += this.ts_(this.BC1__[c2 + c3]);
|
||||
score += this.ts_(this.BC2__[c3 + c4]);
|
||||
score += this.ts_(this.BC3__[c4 + c5]);
|
||||
score += this.ts_(this.TC1__[c1 + c2 + c3]);
|
||||
score += this.ts_(this.TC2__[c2 + c3 + c4]);
|
||||
score += this.ts_(this.TC3__[c3 + c4 + c5]);
|
||||
score += this.ts_(this.TC4__[c4 + c5 + c6]);
|
||||
// score += this.ts_(this.TC5__[c4 + c5 + c6]);
|
||||
score += this.ts_(this.UQ1__[p1 + c1]);
|
||||
score += this.ts_(this.UQ2__[p2 + c2]);
|
||||
score += this.ts_(this.UQ3__[p3 + c3]);
|
||||
score += this.ts_(this.BQ1__[p2 + c2 + c3]);
|
||||
score += this.ts_(this.BQ2__[p2 + c3 + c4]);
|
||||
score += this.ts_(this.BQ3__[p3 + c2 + c3]);
|
||||
score += this.ts_(this.BQ4__[p3 + c3 + c4]);
|
||||
score += this.ts_(this.TQ1__[p2 + c1 + c2 + c3]);
|
||||
score += this.ts_(this.TQ2__[p2 + c2 + c3 + c4]);
|
||||
score += this.ts_(this.TQ3__[p3 + c1 + c2 + c3]);
|
||||
score += this.ts_(this.TQ4__[p3 + c2 + c3 + c4]);
|
||||
var p = "O";
|
||||
if (score > 0) {
|
||||
result.push(word);
|
||||
word = "";
|
||||
p = "B";
|
||||
}
|
||||
p1 = p2;
|
||||
p2 = p3;
|
||||
p3 = p;
|
||||
word += seg[i];
|
||||
}
|
||||
result.push(word);
|
||||
|
||||
return result;
|
||||
}
|
||||
|
||||
lunr.TinySegmenter = TinySegmenter;
|
||||
};
|
||||
|
||||
}));
|
||||
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
@@ -0,0 +1 @@
|
||||
{"version":3,"sources":["src/templates/assets/stylesheets/palette/_scheme.scss","../../../../src/templates/assets/stylesheets/palette.scss","src/templates/assets/stylesheets/palette/_accent.scss","src/templates/assets/stylesheets/palette/_primary.scss","src/templates/assets/stylesheets/utilities/_break.scss"],"names":[],"mappings":"AA2BA,cAGE,6BAME,sDAAA,CACA,6DAAA,CACA,+DAAA,CACA,gEAAA,CACA,mDAAA,CACA,6DAAA,CACA,+DAAA,CACA,gEAAA,CAGA,mDAAA,CACA,gDAAA,CACA,yDAAA,CACA,4DAAA,CAGA,0BAAA,CACA,mCAAA,CAGA,iCAAA,CACA,kCAAA,CACA,mCAAA,CACA,mCAAA,CACA,kCAAA,CACA,iCAAA,CACA,+CAAA,CACA,6DAAA,CACA,gEAAA,CACA,4DAAA,CACA,4DAAA,CACA,6DAAA,CAGA,6CAAA,CAGA,+CAAA,CAGA,uDAAA,CACA,6DAAA,CACA,2DAAA,CAGA,iCAAA,CAGA,yDAAA,CACA,iEAAA,CAGA,mDAAA,CACA,mDAAA,CAGA,qDAAA,CACA,uDAAA,CAGA,8DAAA,CAKA,8DAAA,CAKA,0DAAA,CAzEA,iBCiBF,CD6DE,kHAEE,YC3DJ,CDkFE,yDACE,4BChFJ,CD+EE,2DACE,4BC7EJ,CD4EE,gEACE,4BC1EJ,CDyEE,2DACE,4BCvEJ,CDsEE,yDACE,4BCpEJ,CDmEE,0DACE,4BCjEJ,CDgEE,gEACE,4BC9DJ,CD6DE,0DACE,4BC3DJ,CD0DE,2OACE,4BC/CJ,CDsDA,+FAGE,iCCpDF,CACF,CCjDE,2BACE,4BAAA,CACA,2CAAA,CAOE,yBAAA,CACA,qCD6CN,CCvDE,4BACE,4BAAA,CACA,2CAAA,CAOE,yBAAA,CACA,qCDoDN,CC9DE,8BACE,4BAAA,CACA,2CAAA,CAOE,yBAAA,CACA,qCD2DN,CCrEE,mCACE,4BAAA,CACA,2CAAA,CAOE,yBAAA,CACA,qCDkEN,CC5EE,8BACE,4BAAA,CACA,2CAAA,CAOE,yBAAA,CACA,qCDyEN,CCnFE,4BACE,4BAAA,CACA,2CAAA,CAOE,yBAAA,CACA,qCDgFN,CC1FE,kCACE,4BAAA,CACA,2CAAA,CAOE,yBAAA,CACA,qCDuFN,CCjGE,4BACE,4BAAA,CACA,2CAAA,CAOE,yBAAA,CACA,qCD8FN,CCxGE,4BACE,4BAAA,CACA,2CAAA,CAOE,yBAAA,CACA,qCDqGN,CC/GE,6BACE,4BAAA,CACA,2CAAA,CAOE,yBAAA,CACA,qCD4GN,CCtHE,mCACE,4BAAA,CACA,2CAAA,CAOE,yBAAA,CACA,qCDmHN,CC7HE,4BACE,4BAAA,CACA,2CAAA,CAIE,8BAAA,CACA,qCD6HN,CCpIE,8BACE,4BAAA,CACA,2CAAA,CAIE,8BAAA,CACA,qCDoIN,CC3IE,6BACE,yBAAA,CACA,2CAAA,CAIE,8BAAA,CACA,qCD2IN,CClJE,8BACE,4BAAA,CACA,2CAAA,CAIE,8BAAA,CACA,qCDkJN,CCzJE,mCACE,4BAAA,CACA,2CAAA,CAOE,yBAAA,CACA,qCDsJN,CE3JE,4BACE,6BAAA,CACA,oCAAA,CACA,mCAAA,CAOE,0BAAA,CACA,sCFwJN,CEnKE,6BACE,6BAAA,CACA,oCAAA,CACA,mCAAA,CAOE,0BAAA,CACA,sCFgKN,CE3KE,+BACE,6BAAA,CACA,oCAAA,CACA,mCAAA,CAOE,0BAAA,CACA,sCFwKN,CEnLE,oCACE,6BAAA,CACA,oCAAA,CACA,mCAAA,CAOE,0BAAA,CACA,sCFgLN,CE3LE,+BACE,6BAAA,CACA,oCAAA,CACA,mCAAA,CAOE,0BAAA,CACA,sCFwLN,CEnME,6BACE,6BAAA,CACA,oCAAA,CACA,mCAAA,CAOE,0BAAA,CACA,sCFgMN,CE3ME,mCACE,6BAAA,CACA,oCAAA,CACA,mCAAA,CAOE,0BAAA,CACA,sCFwMN,CEnNE,6BACE,6BAAA,CACA,oCAAA,CACA,mCAAA,CAOE,0BAAA,CACA,sCFgNN,CE3NE,6BACE,6BAAA,CACA,oCAAA,CACA,mCAAA,CAOE,0BAAA,CACA,sCFwNN,CEnOE,8BACE,6BAAA,CACA,oCAAA,CACA,mCAAA,CAOE,0BAAA,CACA,sCFgON,CE3OE,oCACE,6BAAA,CACA,oCAAA,CACA,mCAAA,CAOE,0BAAA,CACA,sCFwON,CEnPE,6BACE,6BAAA,CACA,oCAAA,CACA,mCAAA,CAIE,+BAAA,CACA,sCFmPN,CE3PE,+BACE,6BAAA,CACA,oCAAA,CACA,mCAAA,CAIE,+BAAA,CACA,sCF2PN,CEnQE,8BACE,6BAAA,CACA,oCAAA,CACA,mCAAA,CAIE,+BAAA,CACA,sCFmQN,CE3QE,+BACE,6BAAA,CACA,oCAAA,CACA,mCAAA,CAIE,+BAAA,CACA,sCF2QN,CEnRE,oCACE,6BAAA,CACA,oCAAA,CACA,mCAAA,CAOE,0BAAA,CACA,sCFgRN,CE3RE,8BACE,6BAAA,CACA,oCAAA,CACA,mCAAA,CAOE,0BAAA,CACA,sCFwRN,CEnSE,6BACE,6BAAA,CACA,oCAAA,CACA,mCAAA,CAOE,0BAAA,CACA,sCAAA,CAKA,4BF4RN,CE5SE,kCACE,6BAAA,CACA,oCAAA,CACA,mCAAA,CAOE,0BAAA,CACA,sCAAA,CAKA,4BFqSN,CEtRE,sEACE,4BFyRJ,CE1RE,+DACE,4BF6RJ,CE9RE,iEACE,4BFiSJ,CElSE,gEACE,4BFqSJ,CEtSE,iEACE,4BFySJ,CEhSA,8BACE,mDAAA,CACA,4DAAA,CACA,0DAAA,CACA,oDAAA,CACA,2DAAA,CAGA,4BFiSF,CE9RE,yCACE,+BFgSJ,CE7RI,kDAEE,0CAAA,CACA,sCAAA,CAFA,mCFiSN,CG7MI,mCD1EA,+CACE,8CF0RJ,CEvRI,qDACE,8CFyRN,CEpRE,iEACE,mCFsRJ,CACF,CGxNI,sCDvDA,uCACE,oCFkRJ,CACF,CEzQA,8BACE,kDAAA,CACA,4DAAA,CACA,wDAAA,CACA,oDAAA,CACA,6DAAA,CAGA,4BF0QF,CEvQE,yCACE,+BFyQJ,CEtQI,kDAEE,0CAAA,CACA,sCAAA,CAFA,mCF0QN,CEnQE,yCACE,6CFqQJ,CG9NI,0CDhCA,8CACE,gDFiQJ,CACF,CGnOI,0CDvBA,iFACE,6CF6PJ,CACF,CG3PI,sCDKA,uCACE,6CFyPJ,CACF","file":"palette.css"}
|
||||
@@ -0,0 +1,773 @@
|
||||
|
||||
<!doctype html>
|
||||
<html lang="zh" class="no-js">
|
||||
<head>
|
||||
|
||||
<meta charset="utf-8">
|
||||
<meta name="viewport" content="width=device-width,initial-scale=1">
|
||||
|
||||
<meta name="description" content="Oraset 编程语言文档">
|
||||
|
||||
|
||||
<meta name="author" content="Oraset Team">
|
||||
|
||||
|
||||
<link rel="canonical" href="https://oraset.org/en/">
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<link rel="icon" href="../assets/images/favicon.png">
|
||||
<meta name="generator" content="mkdocs-1.6.1, mkdocs-material-9.7.6">
|
||||
|
||||
|
||||
|
||||
<title>Oraset Programming Language - Oraset 编程语言</title>
|
||||
|
||||
|
||||
|
||||
<link rel="stylesheet" href="../assets/stylesheets/main.484c7ddc.min.css">
|
||||
|
||||
|
||||
<link rel="stylesheet" href="../assets/stylesheets/palette.ab4e12ef.min.css">
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
|
||||
<link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Roboto:300,300i,400,400i,700,700i%7CRoboto+Mono:400,400i,700,700i&display=fallback">
|
||||
<style>:root{--md-text-font:"Roboto";--md-code-font:"Roboto Mono"}</style>
|
||||
|
||||
|
||||
|
||||
<script>__md_scope=new URL("..",location),__md_hash=e=>[...e].reduce(((e,_)=>(e<<5)-e+_.charCodeAt(0)),0),__md_get=(e,_=localStorage,t=__md_scope)=>JSON.parse(_.getItem(t.pathname+"."+e)),__md_set=(e,_,t=localStorage,a=__md_scope)=>{try{t.setItem(a.pathname+"."+e,JSON.stringify(_))}catch(e){}}</script>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
</head>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<body dir="ltr" data-md-color-scheme="default" data-md-color-primary="orange" data-md-color-accent="orange">
|
||||
|
||||
|
||||
<input class="md-toggle" data-md-toggle="drawer" type="checkbox" id="__drawer" autocomplete="off">
|
||||
<input class="md-toggle" data-md-toggle="search" type="checkbox" id="__search" autocomplete="off">
|
||||
<label class="md-overlay" for="__drawer"></label>
|
||||
<div data-md-component="skip">
|
||||
|
||||
|
||||
<a href="#oraset-programming-language" class="md-skip">
|
||||
跳转至
|
||||
</a>
|
||||
|
||||
</div>
|
||||
<div data-md-component="announce">
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
|
||||
<header class="md-header" data-md-component="header">
|
||||
<nav class="md-header__inner md-grid" aria-label="页眉">
|
||||
<a href=".." title="Oraset 编程语言" class="md-header__button md-logo" aria-label="Oraset 编程语言" data-md-component="logo">
|
||||
|
||||
|
||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M12 8a3 3 0 0 0 3-3 3 3 0 0 0-3-3 3 3 0 0 0-3 3 3 3 0 0 0 3 3m0 3.54C9.64 9.35 6.5 8 3 8v11c3.5 0 6.64 1.35 9 3.54 2.36-2.19 5.5-3.54 9-3.54V8c-3.5 0-6.64 1.35-9 3.54"/></svg>
|
||||
|
||||
</a>
|
||||
<label class="md-header__button md-icon" for="__drawer">
|
||||
|
||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M3 6h18v2H3zm0 5h18v2H3zm0 5h18v2H3z"/></svg>
|
||||
</label>
|
||||
<div class="md-header__title" data-md-component="header-title">
|
||||
<div class="md-header__ellipsis">
|
||||
<div class="md-header__topic">
|
||||
<span class="md-ellipsis">
|
||||
Oraset 编程语言
|
||||
</span>
|
||||
</div>
|
||||
<div class="md-header__topic" data-md-component="header-topic">
|
||||
<span class="md-ellipsis">
|
||||
|
||||
Oraset Programming Language
|
||||
|
||||
</span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
<form class="md-header__option" data-md-component="palette">
|
||||
|
||||
|
||||
|
||||
|
||||
<input class="md-option" data-md-color-media="" data-md-color-scheme="default" data-md-color-primary="orange" data-md-color-accent="orange" aria-hidden="true" type="radio" name="__palette" id="__palette_0">
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<input class="md-option" data-md-color-media="" data-md-color-scheme="slate" data-md-color-primary="deep-orange" data-md-color-accent="deep-orange" aria-hidden="true" type="radio" name="__palette" id="__palette_1">
|
||||
|
||||
|
||||
</form>
|
||||
|
||||
|
||||
|
||||
<script>var palette=__md_get("__palette");if(palette&&palette.color){if("(prefers-color-scheme)"===palette.color.media){var media=matchMedia("(prefers-color-scheme: light)"),input=document.querySelector(media.matches?"[data-md-color-media='(prefers-color-scheme: light)']":"[data-md-color-media='(prefers-color-scheme: dark)']");palette.color.media=input.getAttribute("data-md-color-media"),palette.color.scheme=input.getAttribute("data-md-color-scheme"),palette.color.primary=input.getAttribute("data-md-color-primary"),palette.color.accent=input.getAttribute("data-md-color-accent")}for(var[key,value]of Object.entries(palette.color))document.body.setAttribute("data-md-color-"+key,value)}</script>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<label class="md-header__button md-icon" for="__search">
|
||||
|
||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M9.5 3A6.5 6.5 0 0 1 16 9.5c0 1.61-.59 3.09-1.56 4.23l.27.27h.79l5 5-1.5 1.5-5-5v-.79l-.27-.27A6.52 6.52 0 0 1 9.5 16 6.5 6.5 0 0 1 3 9.5 6.5 6.5 0 0 1 9.5 3m0 2C7 5 5 7 5 9.5S7 14 9.5 14 14 12 14 9.5 12 5 9.5 5"/></svg>
|
||||
</label>
|
||||
<div class="md-search" data-md-component="search" role="dialog">
|
||||
<label class="md-search__overlay" for="__search"></label>
|
||||
<div class="md-search__inner" role="search">
|
||||
<form class="md-search__form" name="search">
|
||||
<input type="text" class="md-search__input" name="query" aria-label="搜索" placeholder="搜索" autocapitalize="off" autocorrect="off" autocomplete="off" spellcheck="false" data-md-component="search-query" required>
|
||||
<label class="md-search__icon md-icon" for="__search">
|
||||
|
||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M9.5 3A6.5 6.5 0 0 1 16 9.5c0 1.61-.59 3.09-1.56 4.23l.27.27h.79l5 5-1.5 1.5-5-5v-.79l-.27-.27A6.52 6.52 0 0 1 9.5 16 6.5 6.5 0 0 1 3 9.5 6.5 6.5 0 0 1 9.5 3m0 2C7 5 5 7 5 9.5S7 14 9.5 14 14 12 14 9.5 12 5 9.5 5"/></svg>
|
||||
|
||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M20 11v2H8l5.5 5.5-1.42 1.42L4.16 12l7.92-7.92L13.5 5.5 8 11z"/></svg>
|
||||
</label>
|
||||
<nav class="md-search__options" aria-label="查找">
|
||||
|
||||
<button type="reset" class="md-search__icon md-icon" title="清空当前内容" aria-label="清空当前内容" tabindex="-1">
|
||||
|
||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M19 6.41 17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12z"/></svg>
|
||||
</button>
|
||||
</nav>
|
||||
|
||||
<div class="md-search__suggest" data-md-component="search-suggest"></div>
|
||||
|
||||
</form>
|
||||
<div class="md-search__output">
|
||||
<div class="md-search__scrollwrap" tabindex="0" data-md-scrollfix>
|
||||
<div class="md-search-result" data-md-component="search-result">
|
||||
<div class="md-search-result__meta">
|
||||
正在初始化搜索引擎
|
||||
</div>
|
||||
<ol class="md-search-result__list" role="presentation"></ol>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
</nav>
|
||||
|
||||
</header>
|
||||
|
||||
<div class="md-container" data-md-component="container">
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<nav class="md-tabs" aria-label="标签" data-md-component="tabs">
|
||||
<div class="md-grid">
|
||||
<ul class="md-tabs__list">
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<li class="md-tabs__item">
|
||||
<a href=".." class="md-tabs__link">
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
首页
|
||||
|
||||
</a>
|
||||
</li>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<li class="md-tabs__item">
|
||||
<a href="../tutorial/quickstart/" class="md-tabs__link">
|
||||
|
||||
|
||||
|
||||
入门教程
|
||||
|
||||
</a>
|
||||
</li>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<li class="md-tabs__item">
|
||||
<a href="../libraries/math/" class="md-tabs__link">
|
||||
|
||||
|
||||
|
||||
库参考
|
||||
|
||||
</a>
|
||||
</li>
|
||||
|
||||
|
||||
|
||||
|
||||
</ul>
|
||||
</div>
|
||||
</nav>
|
||||
|
||||
|
||||
|
||||
<main class="md-main" data-md-component="main">
|
||||
<div class="md-main__inner md-grid">
|
||||
|
||||
|
||||
|
||||
<div class="md-sidebar md-sidebar--primary" data-md-component="sidebar" data-md-type="navigation" >
|
||||
<div class="md-sidebar__scrollwrap">
|
||||
<div class="md-sidebar__inner">
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<nav class="md-nav md-nav--primary md-nav--lifted" aria-label="导航栏" data-md-level="0">
|
||||
<label class="md-nav__title" for="__drawer">
|
||||
<a href=".." title="Oraset 编程语言" class="md-nav__button md-logo" aria-label="Oraset 编程语言" data-md-component="logo">
|
||||
|
||||
|
||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M12 8a3 3 0 0 0 3-3 3 3 0 0 0-3-3 3 3 0 0 0-3 3 3 3 0 0 0 3 3m0 3.54C9.64 9.35 6.5 8 3 8v11c3.5 0 6.64 1.35 9 3.54 2.36-2.19 5.5-3.54 9-3.54V8c-3.5 0-6.64 1.35-9 3.54"/></svg>
|
||||
|
||||
</a>
|
||||
Oraset 编程语言
|
||||
</label>
|
||||
|
||||
<ul class="md-nav__list" data-md-scrollfix>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<li class="md-nav__item">
|
||||
<a href=".." class="md-nav__link">
|
||||
|
||||
|
||||
|
||||
<span class="md-ellipsis">
|
||||
|
||||
|
||||
首页
|
||||
|
||||
|
||||
|
||||
</span>
|
||||
|
||||
|
||||
|
||||
</a>
|
||||
</li>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<li class="md-nav__item md-nav__item--nested">
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<input class="md-nav__toggle md-toggle md-toggle--indeterminate" type="checkbox" id="__nav_2" >
|
||||
|
||||
|
||||
<label class="md-nav__link" for="__nav_2" id="__nav_2_label" tabindex="0">
|
||||
|
||||
|
||||
|
||||
<span class="md-ellipsis">
|
||||
|
||||
|
||||
入门教程
|
||||
|
||||
|
||||
|
||||
</span>
|
||||
|
||||
|
||||
|
||||
<span class="md-nav__icon md-icon"></span>
|
||||
</label>
|
||||
|
||||
<nav class="md-nav" data-md-level="1" aria-labelledby="__nav_2_label" aria-expanded="false">
|
||||
<label class="md-nav__title" for="__nav_2">
|
||||
<span class="md-nav__icon md-icon"></span>
|
||||
|
||||
|
||||
入门教程
|
||||
|
||||
|
||||
</label>
|
||||
<ul class="md-nav__list" data-md-scrollfix>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<li class="md-nav__item">
|
||||
<a href="../tutorial/quickstart/" class="md-nav__link">
|
||||
|
||||
|
||||
|
||||
<span class="md-ellipsis">
|
||||
|
||||
|
||||
快速开始
|
||||
|
||||
|
||||
|
||||
</span>
|
||||
|
||||
|
||||
|
||||
</a>
|
||||
</li>
|
||||
|
||||
|
||||
|
||||
|
||||
</ul>
|
||||
</nav>
|
||||
|
||||
</li>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<li class="md-nav__item md-nav__item--nested">
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<input class="md-nav__toggle md-toggle md-toggle--indeterminate" type="checkbox" id="__nav_3" >
|
||||
|
||||
|
||||
<label class="md-nav__link" for="__nav_3" id="__nav_3_label" tabindex="0">
|
||||
|
||||
|
||||
|
||||
<span class="md-ellipsis">
|
||||
|
||||
|
||||
库参考
|
||||
|
||||
|
||||
|
||||
</span>
|
||||
|
||||
|
||||
|
||||
<span class="md-nav__icon md-icon"></span>
|
||||
</label>
|
||||
|
||||
<nav class="md-nav" data-md-level="1" aria-labelledby="__nav_3_label" aria-expanded="false">
|
||||
<label class="md-nav__title" for="__nav_3">
|
||||
<span class="md-nav__icon md-icon"></span>
|
||||
|
||||
|
||||
库参考
|
||||
|
||||
|
||||
</label>
|
||||
<ul class="md-nav__list" data-md-scrollfix>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<li class="md-nav__item">
|
||||
<a href="../libraries/math/" class="md-nav__link">
|
||||
|
||||
|
||||
|
||||
<span class="md-ellipsis">
|
||||
|
||||
|
||||
数学库
|
||||
|
||||
|
||||
|
||||
</span>
|
||||
|
||||
|
||||
|
||||
</a>
|
||||
</li>
|
||||
|
||||
|
||||
|
||||
|
||||
</ul>
|
||||
</nav>
|
||||
|
||||
</li>
|
||||
|
||||
|
||||
|
||||
</ul>
|
||||
</nav>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
<div class="md-sidebar md-sidebar--secondary" data-md-component="sidebar" data-md-type="toc" >
|
||||
<div class="md-sidebar__scrollwrap">
|
||||
<div class="md-sidebar__inner">
|
||||
|
||||
|
||||
<nav class="md-nav md-nav--secondary" aria-label="目录">
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<label class="md-nav__title" for="__toc">
|
||||
<span class="md-nav__icon md-icon"></span>
|
||||
目录
|
||||
</label>
|
||||
<ul class="md-nav__list" data-md-component="toc" data-md-scrollfix>
|
||||
|
||||
<li class="md-nav__item">
|
||||
<a href="#what-is-oraset" class="md-nav__link">
|
||||
<span class="md-ellipsis">
|
||||
|
||||
What is Oraset?
|
||||
|
||||
</span>
|
||||
</a>
|
||||
|
||||
<nav class="md-nav" aria-label="What is Oraset?">
|
||||
<ul class="md-nav__list">
|
||||
|
||||
<li class="md-nav__item">
|
||||
<a href="#key-features" class="md-nav__link">
|
||||
<span class="md-ellipsis">
|
||||
|
||||
Key Features
|
||||
|
||||
</span>
|
||||
</a>
|
||||
|
||||
</li>
|
||||
|
||||
</ul>
|
||||
</nav>
|
||||
|
||||
</li>
|
||||
|
||||
<li class="md-nav__item">
|
||||
<a href="#quick-start" class="md-nav__link">
|
||||
<span class="md-ellipsis">
|
||||
|
||||
Quick Start
|
||||
|
||||
</span>
|
||||
</a>
|
||||
|
||||
<nav class="md-nav" aria-label="Quick Start">
|
||||
<ul class="md-nav__list">
|
||||
|
||||
<li class="md-nav__item">
|
||||
<a href="#installation" class="md-nav__link">
|
||||
<span class="md-ellipsis">
|
||||
|
||||
Installation
|
||||
|
||||
</span>
|
||||
</a>
|
||||
|
||||
</li>
|
||||
|
||||
<li class="md-nav__item">
|
||||
<a href="#your-first-program" class="md-nav__link">
|
||||
<span class="md-ellipsis">
|
||||
|
||||
Your First Program
|
||||
|
||||
</span>
|
||||
</a>
|
||||
|
||||
</li>
|
||||
|
||||
</ul>
|
||||
</nav>
|
||||
|
||||
</li>
|
||||
|
||||
<li class="md-nav__item">
|
||||
<a href="#documentation-navigation" class="md-nav__link">
|
||||
<span class="md-ellipsis">
|
||||
|
||||
Documentation Navigation
|
||||
|
||||
</span>
|
||||
</a>
|
||||
|
||||
</li>
|
||||
|
||||
<li class="md-nav__item">
|
||||
<a href="#community" class="md-nav__link">
|
||||
<span class="md-ellipsis">
|
||||
|
||||
Community
|
||||
|
||||
</span>
|
||||
</a>
|
||||
|
||||
</li>
|
||||
|
||||
<li class="md-nav__item">
|
||||
<a href="#license" class="md-nav__link">
|
||||
<span class="md-ellipsis">
|
||||
|
||||
License
|
||||
|
||||
</span>
|
||||
</a>
|
||||
|
||||
</li>
|
||||
|
||||
</ul>
|
||||
|
||||
</nav>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
<div class="md-content" data-md-component="content">
|
||||
|
||||
<article class="md-content__inner md-typeset">
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<h1 id="oraset-programming-language">Oraset Programming Language<a class="headerlink" href="#oraset-programming-language" title="Permanent link">¶</a></h1>
|
||||
<h2 id="what-is-oraset">What is Oraset?<a class="headerlink" href="#what-is-oraset" title="Permanent link">¶</a></h2>
|
||||
<p>Oraset is a simple, powerful, cross-platform programming language designed to provide an easy-to-learn and easy-to-use programming tool.</p>
|
||||
<h3 id="key-features">Key Features<a class="headerlink" href="#key-features" title="Permanent link">¶</a></h3>
|
||||
<ul>
|
||||
<li><strong>Simple and intuitive syntax</strong>: Clear syntax design, easy to learn and use</li>
|
||||
<li><strong>Cross-platform support</strong>: Runs on multiple platforms including Windows and Linux</li>
|
||||
<li><strong>Rich library functions</strong>: Built-in libraries for math, string, array, and more</li>
|
||||
<li><strong>File packaging</strong>: Supports packaging code into encrypted .osp files</li>
|
||||
<li><strong>Network capabilities</strong>: Built-in HTTP request functionality for easy interaction with web services</li>
|
||||
<li><strong>Extensibility</strong>: Supports adding custom extensions through the includes directory</li>
|
||||
</ul>
|
||||
<h2 id="quick-start">Quick Start<a class="headerlink" href="#quick-start" title="Permanent link">¶</a></h2>
|
||||
<h3 id="installation">Installation<a class="headerlink" href="#installation" title="Permanent link">¶</a></h3>
|
||||
<ol>
|
||||
<li>Download the Oraset interpreter</li>
|
||||
<li>Extract it to any directory</li>
|
||||
<li>Add the Oraset directory to your system environment variables (optional)</li>
|
||||
</ol>
|
||||
<h3 id="your-first-program">Your First Program<a class="headerlink" href="#your-first-program" title="Permanent link">¶</a></h3>
|
||||
<p>Create a file named <code>hello.oraset</code> with the following content:</p>
|
||||
<div class="highlight"><table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre><span></span><span class="normal">1</span>
|
||||
<span class="normal">2</span></pre></div></td><td class="code"><div><pre><span></span><code>!! First Oraset program
|
||||
show(`Hello, Oraset!`);
|
||||
</code></pre></div></td></tr></table></div>
|
||||
<p>Run the program:</p>
|
||||
<div class="highlight"><table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre><span></span><span class="normal">1</span></pre></div></td><td class="code"><div><pre><span></span><code>python<span class="w"> </span>oraset.py<span class="w"> </span>hello.oraset
|
||||
</code></pre></div></td></tr></table></div>
|
||||
<h2 id="documentation-navigation">Documentation Navigation<a class="headerlink" href="#documentation-navigation" title="Permanent link">¶</a></h2>
|
||||
<ul>
|
||||
<li><a href="en/tutorial/quickstart.md">Getting Started</a> - Learn Oraset's basic syntax and usage</li>
|
||||
<li><a href="en/reference/syntax.md">Syntax Reference</a> - Detailed syntax rules</li>
|
||||
<li><a href="en/libraries/math.md">Library Reference</a> - Usage of built-in libraries</li>
|
||||
<li><a href="en/advanced/packaging.md">Advanced Features</a> - Advanced features and best practices</li>
|
||||
<li><a href="en/about/introduction.md">About</a> - Project introduction and contribution guidelines</li>
|
||||
</ul>
|
||||
<h2 id="community">Community<a class="headerlink" href="#community" title="Permanent link">¶</a></h2>
|
||||
<ul>
|
||||
<li><a href="https://github.com/oraset/oraset">GitHub Repository</a> - Source code and contributions</li>
|
||||
<li><a href="https://forum.oraset.org">Forum</a> - Discussion and help</li>
|
||||
<li><a href="https://github.com/oraset/oraset/issues">Issue Tracker</a> - Report issues</li>
|
||||
</ul>
|
||||
<h2 id="license">License<a class="headerlink" href="#license" title="Permanent link">¶</a></h2>
|
||||
<p>Oraset uses the GNU General Public License v3.0.</p>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
</article>
|
||||
</div>
|
||||
|
||||
|
||||
<script>var target=document.getElementById(location.hash.slice(1));target&&target.name&&(target.checked=target.name.startsWith("__tabbed_"))</script>
|
||||
</div>
|
||||
|
||||
<button type="button" class="md-top md-icon" data-md-component="top" hidden>
|
||||
|
||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M13 20h-2V8l-5.5 5.5-1.42-1.42L12 4.16l7.92 7.92-1.42 1.42L13 8z"/></svg>
|
||||
回到页面顶部
|
||||
</button>
|
||||
|
||||
</main>
|
||||
|
||||
<footer class="md-footer">
|
||||
|
||||
<div class="md-footer-meta md-typeset">
|
||||
<div class="md-footer-meta__inner md-grid">
|
||||
<div class="md-copyright">
|
||||
|
||||
|
||||
Made with
|
||||
<a href="https://squidfunk.github.io/mkdocs-material/" target="_blank" rel="noopener">
|
||||
Material for MkDocs
|
||||
</a>
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
<div class="md-social">
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<a href="https://github.com/oraset/oraset" target="_blank" rel="noopener" title="github.com" class="md-social__link">
|
||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><!--! Font Awesome Free 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2025 Fonticons, Inc.--><path d="M173.9 397.4c0 2-2.3 3.6-5.2 3.6-3.3.3-5.6-1.3-5.6-3.6 0-2 2.3-3.6 5.2-3.6 3-.3 5.6 1.3 5.6 3.6m-31.1-4.5c-.7 2 1.3 4.3 4.3 4.9 2.6 1 5.6 0 6.2-2s-1.3-4.3-4.3-5.2c-2.6-.7-5.5.3-6.2 2.3m44.2-1.7c-2.9.7-4.9 2.6-4.6 4.9.3 2 2.9 3.3 5.9 2.6 2.9-.7 4.9-2.6 4.6-4.6-.3-1.9-3-3.2-5.9-2.9M252.8 8C114.1 8 8 113.3 8 252c0 110.9 69.8 205.8 169.5 239.2 12.8 2.3 17.3-5.6 17.3-12.1 0-6.2-.3-40.4-.3-61.4 0 0-70 15-84.7-29.8 0 0-11.4-29.1-27.8-36.6 0 0-22.9-15.7 1.6-15.4 0 0 24.9 2 38.6 25.8 21.9 38.6 58.6 27.5 72.9 20.9 2.3-16 8.8-27.1 16-33.7-55.9-6.2-112.3-14.3-112.3-110.5 0-27.5 7.6-41.3 23.6-58.9-2.6-6.5-11.1-33.3 2.6-67.9 20.9-6.5 69 27 69 27 20-5.6 41.5-8.5 62.8-8.5s42.8 2.9 62.8 8.5c0 0 48.1-33.6 69-27 13.7 34.7 5.2 61.4 2.6 67.9 16 17.7 25.8 31.5 25.8 58.9 0 96.5-58.9 104.2-114.8 110.5 9.2 7.9 17 22.9 17 46.4 0 33.7-.3 75.4-.3 83.6 0 6.5 4.6 14.4 17.3 12.1C436.2 457.8 504 362.9 504 252 504 113.3 391.5 8 252.8 8M105.2 352.9c-1.3 1-1 3.3.7 5.2 1.6 1.6 3.9 2.3 5.2 1 1.3-1 1-3.3-.7-5.2-1.6-1.6-3.9-2.3-5.2-1m-10.8-8.1c-.7 1.3.3 2.9 2.3 3.9 1.6 1 3.6.7 4.3-.7.7-1.3-.3-2.9-2.3-3.9-2-.6-3.6-.3-4.3.7m32.4 35.6c-1.6 1.3-1 4.3 1.3 6.2 2.3 2.3 5.2 2.6 6.5 1 1.3-1.3.7-4.3-1.3-6.2-2.2-2.3-5.2-2.6-6.5-1m-11.4-14.7c-1.6 1-1.6 3.6 0 5.9s4.3 3.3 5.6 2.3c1.6-1.3 1.6-3.9 0-6.2-1.4-2.3-4-3.3-5.6-2"/></svg>
|
||||
</a>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<a href="https://bbs.ecuil.com" target="_blank" rel="noopener" title="bbs.ecuil.com" class="md-social__link">
|
||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><!--! Font Awesome Free 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2025 Fonticons, Inc.--><path d="M5.8 309.7C2 292.7 0 275.5 0 258.3 0 135 99.8 35 223.1 35c16.6 0 33.3 2 49.3 5.5C149 87.5 51.9 186 5.8 309.7m392.9-189.2C385 103 369 87.8 350.9 75.2c-149.6 44.3-266.3 162.1-309.7 312 12.5 18.1 28 35.6 45.2 49 43.1-151.3 161.2-271.7 312.3-315.7m15.8 252.7c15.2-25.1 25.4-53.7 29.5-82.8-79.4 42.9-145 110.6-187.6 190.3 30-4.4 58.9-15.3 84.6-31.3 35 13.1 70.9 24.3 107 33.6-9.3-36.5-20.4-74.5-33.5-109.8m29.7-145.5c-2.6-19.5-7.9-38.7-15.8-56.8C290.5 216.7 182 327.5 137.1 466c18.1 7.6 37 12.5 56.6 15.2C240 367.1 330.5 274.4 444.2 227.7"/></svg>
|
||||
</a>
|
||||
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</footer>
|
||||
|
||||
</div>
|
||||
<div class="md-dialog" data-md-component="dialog">
|
||||
<div class="md-dialog__inner md-typeset"></div>
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<script id="__config" type="application/json">{"annotate": null, "base": "..", "features": ["navigation.tabs", "navigation.sections", "navigation.expand", "navigation.top", "search.suggest", "search.highlight"], "search": "../assets/javascripts/workers/search.2c215733.min.js", "tags": null, "translations": {"clipboard.copied": "\u5df2\u590d\u5236", "clipboard.copy": "\u590d\u5236", "search.result.more.one": "\u5728\u8be5\u9875\u4e0a\u8fd8\u6709 1 \u4e2a\u7b26\u5408\u6761\u4ef6\u7684\u7ed3\u679c", "search.result.more.other": "\u5728\u8be5\u9875\u4e0a\u8fd8\u6709 # \u4e2a\u7b26\u5408\u6761\u4ef6\u7684\u7ed3\u679c", "search.result.none": "\u6ca1\u6709\u627e\u5230\u7b26\u5408\u6761\u4ef6\u7684\u7ed3\u679c", "search.result.one": "\u627e\u5230 1 \u4e2a\u7b26\u5408\u6761\u4ef6\u7684\u7ed3\u679c", "search.result.other": "# \u4e2a\u7b26\u5408\u6761\u4ef6\u7684\u7ed3\u679c", "search.result.placeholder": "\u952e\u5165\u4ee5\u5f00\u59cb\u641c\u7d22", "search.result.term.missing": "\u7f3a\u5c11", "select.version": "\u9009\u62e9\u5f53\u524d\u7248\u672c"}, "version": null}</script>
|
||||
|
||||
|
||||
<script src="../assets/javascripts/bundle.79ae519e.min.js"></script>
|
||||
|
||||
|
||||
</body>
|
||||
</html>
|
||||
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,924 @@
|
||||
|
||||
<!doctype html>
|
||||
<html lang="zh" class="no-js">
|
||||
<head>
|
||||
|
||||
<meta charset="utf-8">
|
||||
<meta name="viewport" content="width=device-width,initial-scale=1">
|
||||
|
||||
<meta name="description" content="Oraset 编程语言文档">
|
||||
|
||||
|
||||
<meta name="author" content="Oraset Team">
|
||||
|
||||
|
||||
<link rel="canonical" href="https://oraset.org/">
|
||||
|
||||
|
||||
|
||||
<link rel="next" href="tutorial/quickstart/">
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<link rel="icon" href="assets/images/favicon.png">
|
||||
<meta name="generator" content="mkdocs-1.6.1, mkdocs-material-9.7.6">
|
||||
|
||||
|
||||
|
||||
<title>Oraset 编程语言</title>
|
||||
|
||||
|
||||
|
||||
<link rel="stylesheet" href="assets/stylesheets/main.484c7ddc.min.css">
|
||||
|
||||
|
||||
<link rel="stylesheet" href="assets/stylesheets/palette.ab4e12ef.min.css">
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
|
||||
<link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Roboto:300,300i,400,400i,700,700i%7CRoboto+Mono:400,400i,700,700i&display=fallback">
|
||||
<style>:root{--md-text-font:"Roboto";--md-code-font:"Roboto Mono"}</style>
|
||||
|
||||
|
||||
|
||||
<script>__md_scope=new URL(".",location),__md_hash=e=>[...e].reduce(((e,_)=>(e<<5)-e+_.charCodeAt(0)),0),__md_get=(e,_=localStorage,t=__md_scope)=>JSON.parse(_.getItem(t.pathname+"."+e)),__md_set=(e,_,t=localStorage,a=__md_scope)=>{try{t.setItem(a.pathname+"."+e,JSON.stringify(_))}catch(e){}}</script>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
</head>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<body dir="ltr" data-md-color-scheme="default" data-md-color-primary="orange" data-md-color-accent="orange">
|
||||
|
||||
|
||||
<input class="md-toggle" data-md-toggle="drawer" type="checkbox" id="__drawer" autocomplete="off">
|
||||
<input class="md-toggle" data-md-toggle="search" type="checkbox" id="__search" autocomplete="off">
|
||||
<label class="md-overlay" for="__drawer"></label>
|
||||
<div data-md-component="skip">
|
||||
|
||||
|
||||
<a href="#oraset" class="md-skip">
|
||||
跳转至
|
||||
</a>
|
||||
|
||||
</div>
|
||||
<div data-md-component="announce">
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
|
||||
<header class="md-header" data-md-component="header">
|
||||
<nav class="md-header__inner md-grid" aria-label="页眉">
|
||||
<a href="." title="Oraset 编程语言" class="md-header__button md-logo" aria-label="Oraset 编程语言" data-md-component="logo">
|
||||
|
||||
|
||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M12 8a3 3 0 0 0 3-3 3 3 0 0 0-3-3 3 3 0 0 0-3 3 3 3 0 0 0 3 3m0 3.54C9.64 9.35 6.5 8 3 8v11c3.5 0 6.64 1.35 9 3.54 2.36-2.19 5.5-3.54 9-3.54V8c-3.5 0-6.64 1.35-9 3.54"/></svg>
|
||||
|
||||
</a>
|
||||
<label class="md-header__button md-icon" for="__drawer">
|
||||
|
||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M3 6h18v2H3zm0 5h18v2H3zm0 5h18v2H3z"/></svg>
|
||||
</label>
|
||||
<div class="md-header__title" data-md-component="header-title">
|
||||
<div class="md-header__ellipsis">
|
||||
<div class="md-header__topic">
|
||||
<span class="md-ellipsis">
|
||||
Oraset 编程语言
|
||||
</span>
|
||||
</div>
|
||||
<div class="md-header__topic" data-md-component="header-topic">
|
||||
<span class="md-ellipsis">
|
||||
|
||||
首页
|
||||
|
||||
</span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
<form class="md-header__option" data-md-component="palette">
|
||||
|
||||
|
||||
|
||||
|
||||
<input class="md-option" data-md-color-media="" data-md-color-scheme="default" data-md-color-primary="orange" data-md-color-accent="orange" aria-hidden="true" type="radio" name="__palette" id="__palette_0">
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<input class="md-option" data-md-color-media="" data-md-color-scheme="slate" data-md-color-primary="deep-orange" data-md-color-accent="deep-orange" aria-hidden="true" type="radio" name="__palette" id="__palette_1">
|
||||
|
||||
|
||||
</form>
|
||||
|
||||
|
||||
|
||||
<script>var palette=__md_get("__palette");if(palette&&palette.color){if("(prefers-color-scheme)"===palette.color.media){var media=matchMedia("(prefers-color-scheme: light)"),input=document.querySelector(media.matches?"[data-md-color-media='(prefers-color-scheme: light)']":"[data-md-color-media='(prefers-color-scheme: dark)']");palette.color.media=input.getAttribute("data-md-color-media"),palette.color.scheme=input.getAttribute("data-md-color-scheme"),palette.color.primary=input.getAttribute("data-md-color-primary"),palette.color.accent=input.getAttribute("data-md-color-accent")}for(var[key,value]of Object.entries(palette.color))document.body.setAttribute("data-md-color-"+key,value)}</script>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<label class="md-header__button md-icon" for="__search">
|
||||
|
||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M9.5 3A6.5 6.5 0 0 1 16 9.5c0 1.61-.59 3.09-1.56 4.23l.27.27h.79l5 5-1.5 1.5-5-5v-.79l-.27-.27A6.52 6.52 0 0 1 9.5 16 6.5 6.5 0 0 1 3 9.5 6.5 6.5 0 0 1 9.5 3m0 2C7 5 5 7 5 9.5S7 14 9.5 14 14 12 14 9.5 12 5 9.5 5"/></svg>
|
||||
</label>
|
||||
<div class="md-search" data-md-component="search" role="dialog">
|
||||
<label class="md-search__overlay" for="__search"></label>
|
||||
<div class="md-search__inner" role="search">
|
||||
<form class="md-search__form" name="search">
|
||||
<input type="text" class="md-search__input" name="query" aria-label="搜索" placeholder="搜索" autocapitalize="off" autocorrect="off" autocomplete="off" spellcheck="false" data-md-component="search-query" required>
|
||||
<label class="md-search__icon md-icon" for="__search">
|
||||
|
||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M9.5 3A6.5 6.5 0 0 1 16 9.5c0 1.61-.59 3.09-1.56 4.23l.27.27h.79l5 5-1.5 1.5-5-5v-.79l-.27-.27A6.52 6.52 0 0 1 9.5 16 6.5 6.5 0 0 1 3 9.5 6.5 6.5 0 0 1 9.5 3m0 2C7 5 5 7 5 9.5S7 14 9.5 14 14 12 14 9.5 12 5 9.5 5"/></svg>
|
||||
|
||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M20 11v2H8l5.5 5.5-1.42 1.42L4.16 12l7.92-7.92L13.5 5.5 8 11z"/></svg>
|
||||
</label>
|
||||
<nav class="md-search__options" aria-label="查找">
|
||||
|
||||
<button type="reset" class="md-search__icon md-icon" title="清空当前内容" aria-label="清空当前内容" tabindex="-1">
|
||||
|
||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M19 6.41 17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12z"/></svg>
|
||||
</button>
|
||||
</nav>
|
||||
|
||||
<div class="md-search__suggest" data-md-component="search-suggest"></div>
|
||||
|
||||
</form>
|
||||
<div class="md-search__output">
|
||||
<div class="md-search__scrollwrap" tabindex="0" data-md-scrollfix>
|
||||
<div class="md-search-result" data-md-component="search-result">
|
||||
<div class="md-search-result__meta">
|
||||
正在初始化搜索引擎
|
||||
</div>
|
||||
<ol class="md-search-result__list" role="presentation"></ol>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
</nav>
|
||||
|
||||
</header>
|
||||
|
||||
<div class="md-container" data-md-component="container">
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<nav class="md-tabs" aria-label="标签" data-md-component="tabs">
|
||||
<div class="md-grid">
|
||||
<ul class="md-tabs__list">
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<li class="md-tabs__item md-tabs__item--active">
|
||||
<a href="." class="md-tabs__link">
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
首页
|
||||
|
||||
</a>
|
||||
</li>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<li class="md-tabs__item">
|
||||
<a href="tutorial/quickstart/" class="md-tabs__link">
|
||||
|
||||
|
||||
|
||||
入门教程
|
||||
|
||||
</a>
|
||||
</li>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<li class="md-tabs__item">
|
||||
<a href="libraries/math/" class="md-tabs__link">
|
||||
|
||||
|
||||
|
||||
库参考
|
||||
|
||||
</a>
|
||||
</li>
|
||||
|
||||
|
||||
|
||||
|
||||
</ul>
|
||||
</div>
|
||||
</nav>
|
||||
|
||||
|
||||
|
||||
<main class="md-main" data-md-component="main">
|
||||
<div class="md-main__inner md-grid">
|
||||
|
||||
|
||||
|
||||
<div class="md-sidebar md-sidebar--primary" data-md-component="sidebar" data-md-type="navigation" >
|
||||
<div class="md-sidebar__scrollwrap">
|
||||
<div class="md-sidebar__inner">
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<nav class="md-nav md-nav--primary md-nav--lifted" aria-label="导航栏" data-md-level="0">
|
||||
<label class="md-nav__title" for="__drawer">
|
||||
<a href="." title="Oraset 编程语言" class="md-nav__button md-logo" aria-label="Oraset 编程语言" data-md-component="logo">
|
||||
|
||||
|
||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M12 8a3 3 0 0 0 3-3 3 3 0 0 0-3-3 3 3 0 0 0-3 3 3 3 0 0 0 3 3m0 3.54C9.64 9.35 6.5 8 3 8v11c3.5 0 6.64 1.35 9 3.54 2.36-2.19 5.5-3.54 9-3.54V8c-3.5 0-6.64 1.35-9 3.54"/></svg>
|
||||
|
||||
</a>
|
||||
Oraset 编程语言
|
||||
</label>
|
||||
|
||||
<ul class="md-nav__list" data-md-scrollfix>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<li class="md-nav__item md-nav__item--active">
|
||||
|
||||
<input class="md-nav__toggle md-toggle" type="checkbox" id="__toc">
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<label class="md-nav__link md-nav__link--active" for="__toc">
|
||||
|
||||
|
||||
|
||||
<span class="md-ellipsis">
|
||||
|
||||
|
||||
首页
|
||||
|
||||
|
||||
|
||||
</span>
|
||||
|
||||
|
||||
|
||||
<span class="md-nav__icon md-icon"></span>
|
||||
</label>
|
||||
|
||||
<a href="." class="md-nav__link md-nav__link--active">
|
||||
|
||||
|
||||
|
||||
<span class="md-ellipsis">
|
||||
|
||||
|
||||
首页
|
||||
|
||||
|
||||
|
||||
</span>
|
||||
|
||||
|
||||
|
||||
</a>
|
||||
|
||||
|
||||
|
||||
<nav class="md-nav md-nav--secondary" aria-label="目录">
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<label class="md-nav__title" for="__toc">
|
||||
<span class="md-nav__icon md-icon"></span>
|
||||
目录
|
||||
</label>
|
||||
<ul class="md-nav__list" data-md-component="toc" data-md-scrollfix>
|
||||
|
||||
<li class="md-nav__item">
|
||||
<a href="#oraset_1" class="md-nav__link">
|
||||
<span class="md-ellipsis">
|
||||
|
||||
什么是 Oraset?
|
||||
|
||||
</span>
|
||||
</a>
|
||||
|
||||
<nav class="md-nav" aria-label="什么是 Oraset?">
|
||||
<ul class="md-nav__list">
|
||||
|
||||
<li class="md-nav__item">
|
||||
<a href="#_1" class="md-nav__link">
|
||||
<span class="md-ellipsis">
|
||||
|
||||
主要特性
|
||||
|
||||
</span>
|
||||
</a>
|
||||
|
||||
</li>
|
||||
|
||||
</ul>
|
||||
</nav>
|
||||
|
||||
</li>
|
||||
|
||||
<li class="md-nav__item">
|
||||
<a href="#_2" class="md-nav__link">
|
||||
<span class="md-ellipsis">
|
||||
|
||||
快速开始
|
||||
|
||||
</span>
|
||||
</a>
|
||||
|
||||
<nav class="md-nav" aria-label="快速开始">
|
||||
<ul class="md-nav__list">
|
||||
|
||||
<li class="md-nav__item">
|
||||
<a href="#_3" class="md-nav__link">
|
||||
<span class="md-ellipsis">
|
||||
|
||||
安装
|
||||
|
||||
</span>
|
||||
</a>
|
||||
|
||||
</li>
|
||||
|
||||
<li class="md-nav__item">
|
||||
<a href="#_4" class="md-nav__link">
|
||||
<span class="md-ellipsis">
|
||||
|
||||
第一个程序
|
||||
|
||||
</span>
|
||||
</a>
|
||||
|
||||
</li>
|
||||
|
||||
</ul>
|
||||
</nav>
|
||||
|
||||
</li>
|
||||
|
||||
<li class="md-nav__item">
|
||||
<a href="#_5" class="md-nav__link">
|
||||
<span class="md-ellipsis">
|
||||
|
||||
文档导航
|
||||
|
||||
</span>
|
||||
</a>
|
||||
|
||||
</li>
|
||||
|
||||
<li class="md-nav__item">
|
||||
<a href="#_6" class="md-nav__link">
|
||||
<span class="md-ellipsis">
|
||||
|
||||
社区
|
||||
|
||||
</span>
|
||||
</a>
|
||||
|
||||
</li>
|
||||
|
||||
<li class="md-nav__item">
|
||||
<a href="#_7" class="md-nav__link">
|
||||
<span class="md-ellipsis">
|
||||
|
||||
许可证
|
||||
|
||||
</span>
|
||||
</a>
|
||||
|
||||
</li>
|
||||
|
||||
</ul>
|
||||
|
||||
</nav>
|
||||
|
||||
</li>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<li class="md-nav__item md-nav__item--nested">
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<input class="md-nav__toggle md-toggle md-toggle--indeterminate" type="checkbox" id="__nav_2" >
|
||||
|
||||
|
||||
<label class="md-nav__link" for="__nav_2" id="__nav_2_label" tabindex="0">
|
||||
|
||||
|
||||
|
||||
<span class="md-ellipsis">
|
||||
|
||||
|
||||
入门教程
|
||||
|
||||
|
||||
|
||||
</span>
|
||||
|
||||
|
||||
|
||||
<span class="md-nav__icon md-icon"></span>
|
||||
</label>
|
||||
|
||||
<nav class="md-nav" data-md-level="1" aria-labelledby="__nav_2_label" aria-expanded="false">
|
||||
<label class="md-nav__title" for="__nav_2">
|
||||
<span class="md-nav__icon md-icon"></span>
|
||||
|
||||
|
||||
入门教程
|
||||
|
||||
|
||||
</label>
|
||||
<ul class="md-nav__list" data-md-scrollfix>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<li class="md-nav__item">
|
||||
<a href="tutorial/quickstart/" class="md-nav__link">
|
||||
|
||||
|
||||
|
||||
<span class="md-ellipsis">
|
||||
|
||||
|
||||
快速开始
|
||||
|
||||
|
||||
|
||||
</span>
|
||||
|
||||
|
||||
|
||||
</a>
|
||||
</li>
|
||||
|
||||
|
||||
|
||||
|
||||
</ul>
|
||||
</nav>
|
||||
|
||||
</li>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<li class="md-nav__item md-nav__item--nested">
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<input class="md-nav__toggle md-toggle md-toggle--indeterminate" type="checkbox" id="__nav_3" >
|
||||
|
||||
|
||||
<label class="md-nav__link" for="__nav_3" id="__nav_3_label" tabindex="0">
|
||||
|
||||
|
||||
|
||||
<span class="md-ellipsis">
|
||||
|
||||
|
||||
库参考
|
||||
|
||||
|
||||
|
||||
</span>
|
||||
|
||||
|
||||
|
||||
<span class="md-nav__icon md-icon"></span>
|
||||
</label>
|
||||
|
||||
<nav class="md-nav" data-md-level="1" aria-labelledby="__nav_3_label" aria-expanded="false">
|
||||
<label class="md-nav__title" for="__nav_3">
|
||||
<span class="md-nav__icon md-icon"></span>
|
||||
|
||||
|
||||
库参考
|
||||
|
||||
|
||||
</label>
|
||||
<ul class="md-nav__list" data-md-scrollfix>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<li class="md-nav__item">
|
||||
<a href="libraries/math/" class="md-nav__link">
|
||||
|
||||
|
||||
|
||||
<span class="md-ellipsis">
|
||||
|
||||
|
||||
数学库
|
||||
|
||||
|
||||
|
||||
</span>
|
||||
|
||||
|
||||
|
||||
</a>
|
||||
</li>
|
||||
|
||||
|
||||
|
||||
|
||||
</ul>
|
||||
</nav>
|
||||
|
||||
</li>
|
||||
|
||||
|
||||
|
||||
</ul>
|
||||
</nav>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
<div class="md-sidebar md-sidebar--secondary" data-md-component="sidebar" data-md-type="toc" >
|
||||
<div class="md-sidebar__scrollwrap">
|
||||
<div class="md-sidebar__inner">
|
||||
|
||||
|
||||
<nav class="md-nav md-nav--secondary" aria-label="目录">
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<label class="md-nav__title" for="__toc">
|
||||
<span class="md-nav__icon md-icon"></span>
|
||||
目录
|
||||
</label>
|
||||
<ul class="md-nav__list" data-md-component="toc" data-md-scrollfix>
|
||||
|
||||
<li class="md-nav__item">
|
||||
<a href="#oraset_1" class="md-nav__link">
|
||||
<span class="md-ellipsis">
|
||||
|
||||
什么是 Oraset?
|
||||
|
||||
</span>
|
||||
</a>
|
||||
|
||||
<nav class="md-nav" aria-label="什么是 Oraset?">
|
||||
<ul class="md-nav__list">
|
||||
|
||||
<li class="md-nav__item">
|
||||
<a href="#_1" class="md-nav__link">
|
||||
<span class="md-ellipsis">
|
||||
|
||||
主要特性
|
||||
|
||||
</span>
|
||||
</a>
|
||||
|
||||
</li>
|
||||
|
||||
</ul>
|
||||
</nav>
|
||||
|
||||
</li>
|
||||
|
||||
<li class="md-nav__item">
|
||||
<a href="#_2" class="md-nav__link">
|
||||
<span class="md-ellipsis">
|
||||
|
||||
快速开始
|
||||
|
||||
</span>
|
||||
</a>
|
||||
|
||||
<nav class="md-nav" aria-label="快速开始">
|
||||
<ul class="md-nav__list">
|
||||
|
||||
<li class="md-nav__item">
|
||||
<a href="#_3" class="md-nav__link">
|
||||
<span class="md-ellipsis">
|
||||
|
||||
安装
|
||||
|
||||
</span>
|
||||
</a>
|
||||
|
||||
</li>
|
||||
|
||||
<li class="md-nav__item">
|
||||
<a href="#_4" class="md-nav__link">
|
||||
<span class="md-ellipsis">
|
||||
|
||||
第一个程序
|
||||
|
||||
</span>
|
||||
</a>
|
||||
|
||||
</li>
|
||||
|
||||
</ul>
|
||||
</nav>
|
||||
|
||||
</li>
|
||||
|
||||
<li class="md-nav__item">
|
||||
<a href="#_5" class="md-nav__link">
|
||||
<span class="md-ellipsis">
|
||||
|
||||
文档导航
|
||||
|
||||
</span>
|
||||
</a>
|
||||
|
||||
</li>
|
||||
|
||||
<li class="md-nav__item">
|
||||
<a href="#_6" class="md-nav__link">
|
||||
<span class="md-ellipsis">
|
||||
|
||||
社区
|
||||
|
||||
</span>
|
||||
</a>
|
||||
|
||||
</li>
|
||||
|
||||
<li class="md-nav__item">
|
||||
<a href="#_7" class="md-nav__link">
|
||||
<span class="md-ellipsis">
|
||||
|
||||
许可证
|
||||
|
||||
</span>
|
||||
</a>
|
||||
|
||||
</li>
|
||||
|
||||
</ul>
|
||||
|
||||
</nav>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
<div class="md-content" data-md-component="content">
|
||||
|
||||
<article class="md-content__inner md-typeset">
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<h1 id="oraset">Oraset 编程语言<a class="headerlink" href="#oraset" title="Permanent link">¶</a></h1>
|
||||
<h2 id="oraset_1">什么是 Oraset?<a class="headerlink" href="#oraset_1" title="Permanent link">¶</a></h2>
|
||||
<p>Oraset 是一种简单、强大、跨平台的编程语言,设计初衷是提供一种易于学习和使用的编程工具。</p>
|
||||
<h3 id="_1">主要特性<a class="headerlink" href="#_1" title="Permanent link">¶</a></h3>
|
||||
<ul>
|
||||
<li><strong>简单直观的语法</strong>:清晰的语法设计,易于学习和使用</li>
|
||||
<li><strong>跨平台支持</strong>:可在 Windows 和 Linux 等多个平台运行</li>
|
||||
<li><strong>丰富的库函数</strong>:内置数学、字符串、数组等多种实用库</li>
|
||||
<li><strong>文件打包功能</strong>:支持将代码打包为加密的 .osp 文件</li>
|
||||
<li><strong>网络请求能力</strong>:内置 HTTP 请求功能,轻松与网络服务交互</li>
|
||||
<li><strong>扩展性</strong>:支持通过 includes 目录添加自定义扩展</li>
|
||||
</ul>
|
||||
<h2 id="_2">快速开始<a class="headerlink" href="#_2" title="Permanent link">¶</a></h2>
|
||||
<h3 id="_3">安装<a class="headerlink" href="#_3" title="Permanent link">¶</a></h3>
|
||||
<ol>
|
||||
<li>下载 Oraset 解释器</li>
|
||||
<li>解压到任意目录</li>
|
||||
<li>将 Oraset 所在目录添加到系统环境变量(可选)</li>
|
||||
</ol>
|
||||
<h3 id="_4">第一个程序<a class="headerlink" href="#_4" title="Permanent link">¶</a></h3>
|
||||
<p>创建一个名为 <code>hello.oraset</code> 的文件,内容如下:</p>
|
||||
<div class="highlight"><table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre><span></span><span class="normal">1</span>
|
||||
<span class="normal">2</span></pre></div></td><td class="code"><div><pre><span></span><code>!! 第一个 Oraset 程序
|
||||
show(`Hello, Oraset!`);
|
||||
</code></pre></div></td></tr></table></div>
|
||||
<p>运行程序:</p>
|
||||
<div class="highlight"><table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre><span></span><span class="normal">1</span></pre></div></td><td class="code"><div><pre><span></span><code>python<span class="w"> </span>oraset.py<span class="w"> </span>hello.oraset
|
||||
</code></pre></div></td></tr></table></div>
|
||||
<h2 id="_5">文档导航<a class="headerlink" href="#_5" title="Permanent link">¶</a></h2>
|
||||
<ul>
|
||||
<li><a href="tutorial/quickstart/">入门教程</a> - 学习 Oraset 的基本语法和使用方法</li>
|
||||
<li><a href="reference/syntax.md">语法参考</a> - 详细的语法规则</li>
|
||||
<li><a href="libraries/math/">库函数参考</a> - 内置库函数的使用方法</li>
|
||||
<li><a href="advanced/packaging.md">高级特性</a> - 高级功能和最佳实践</li>
|
||||
<li><a href="about/introduction.md">关于项目</a> - 项目介绍和贡献指南</li>
|
||||
</ul>
|
||||
<h2 id="_6">社区<a class="headerlink" href="#_6" title="Permanent link">¶</a></h2>
|
||||
<ul>
|
||||
<li><a href="https://github.com/oraset/oraset">GitHub 仓库</a> - 源码和贡献</li>
|
||||
<li><a href="https://bbs.ecuil.com">论坛</a> - 讨论和帮助</li>
|
||||
<li><a href="https://github.com/oraset/oraset/issues">问题追踪</a> - 报告问题</li>
|
||||
</ul>
|
||||
<h2 id="_7">许可证<a class="headerlink" href="#_7" title="Permanent link">¶</a></h2>
|
||||
<p>Oraset 使用 GNU 通用公共许可证 v3.0。</p>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
</article>
|
||||
</div>
|
||||
|
||||
|
||||
<script>var target=document.getElementById(location.hash.slice(1));target&&target.name&&(target.checked=target.name.startsWith("__tabbed_"))</script>
|
||||
</div>
|
||||
|
||||
<button type="button" class="md-top md-icon" data-md-component="top" hidden>
|
||||
|
||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M13 20h-2V8l-5.5 5.5-1.42-1.42L12 4.16l7.92 7.92-1.42 1.42L13 8z"/></svg>
|
||||
回到页面顶部
|
||||
</button>
|
||||
|
||||
</main>
|
||||
|
||||
<footer class="md-footer">
|
||||
|
||||
<div class="md-footer-meta md-typeset">
|
||||
<div class="md-footer-meta__inner md-grid">
|
||||
<div class="md-copyright">
|
||||
|
||||
|
||||
Made with
|
||||
<a href="https://squidfunk.github.io/mkdocs-material/" target="_blank" rel="noopener">
|
||||
Material for MkDocs
|
||||
</a>
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
<div class="md-social">
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<a href="https://github.com/oraset/oraset" target="_blank" rel="noopener" title="github.com" class="md-social__link">
|
||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><!--! Font Awesome Free 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2025 Fonticons, Inc.--><path d="M173.9 397.4c0 2-2.3 3.6-5.2 3.6-3.3.3-5.6-1.3-5.6-3.6 0-2 2.3-3.6 5.2-3.6 3-.3 5.6 1.3 5.6 3.6m-31.1-4.5c-.7 2 1.3 4.3 4.3 4.9 2.6 1 5.6 0 6.2-2s-1.3-4.3-4.3-5.2c-2.6-.7-5.5.3-6.2 2.3m44.2-1.7c-2.9.7-4.9 2.6-4.6 4.9.3 2 2.9 3.3 5.9 2.6 2.9-.7 4.9-2.6 4.6-4.6-.3-1.9-3-3.2-5.9-2.9M252.8 8C114.1 8 8 113.3 8 252c0 110.9 69.8 205.8 169.5 239.2 12.8 2.3 17.3-5.6 17.3-12.1 0-6.2-.3-40.4-.3-61.4 0 0-70 15-84.7-29.8 0 0-11.4-29.1-27.8-36.6 0 0-22.9-15.7 1.6-15.4 0 0 24.9 2 38.6 25.8 21.9 38.6 58.6 27.5 72.9 20.9 2.3-16 8.8-27.1 16-33.7-55.9-6.2-112.3-14.3-112.3-110.5 0-27.5 7.6-41.3 23.6-58.9-2.6-6.5-11.1-33.3 2.6-67.9 20.9-6.5 69 27 69 27 20-5.6 41.5-8.5 62.8-8.5s42.8 2.9 62.8 8.5c0 0 48.1-33.6 69-27 13.7 34.7 5.2 61.4 2.6 67.9 16 17.7 25.8 31.5 25.8 58.9 0 96.5-58.9 104.2-114.8 110.5 9.2 7.9 17 22.9 17 46.4 0 33.7-.3 75.4-.3 83.6 0 6.5 4.6 14.4 17.3 12.1C436.2 457.8 504 362.9 504 252 504 113.3 391.5 8 252.8 8M105.2 352.9c-1.3 1-1 3.3.7 5.2 1.6 1.6 3.9 2.3 5.2 1 1.3-1 1-3.3-.7-5.2-1.6-1.6-3.9-2.3-5.2-1m-10.8-8.1c-.7 1.3.3 2.9 2.3 3.9 1.6 1 3.6.7 4.3-.7.7-1.3-.3-2.9-2.3-3.9-2-.6-3.6-.3-4.3.7m32.4 35.6c-1.6 1.3-1 4.3 1.3 6.2 2.3 2.3 5.2 2.6 6.5 1 1.3-1.3.7-4.3-1.3-6.2-2.2-2.3-5.2-2.6-6.5-1m-11.4-14.7c-1.6 1-1.6 3.6 0 5.9s4.3 3.3 5.6 2.3c1.6-1.3 1.6-3.9 0-6.2-1.4-2.3-4-3.3-5.6-2"/></svg>
|
||||
</a>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<a href="https://bbs.ecuil.com" target="_blank" rel="noopener" title="bbs.ecuil.com" class="md-social__link">
|
||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><!--! Font Awesome Free 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2025 Fonticons, Inc.--><path d="M5.8 309.7C2 292.7 0 275.5 0 258.3 0 135 99.8 35 223.1 35c16.6 0 33.3 2 49.3 5.5C149 87.5 51.9 186 5.8 309.7m392.9-189.2C385 103 369 87.8 350.9 75.2c-149.6 44.3-266.3 162.1-309.7 312 12.5 18.1 28 35.6 45.2 49 43.1-151.3 161.2-271.7 312.3-315.7m15.8 252.7c15.2-25.1 25.4-53.7 29.5-82.8-79.4 42.9-145 110.6-187.6 190.3 30-4.4 58.9-15.3 84.6-31.3 35 13.1 70.9 24.3 107 33.6-9.3-36.5-20.4-74.5-33.5-109.8m29.7-145.5c-2.6-19.5-7.9-38.7-15.8-56.8C290.5 216.7 182 327.5 137.1 466c18.1 7.6 37 12.5 56.6 15.2C240 367.1 330.5 274.4 444.2 227.7"/></svg>
|
||||
</a>
|
||||
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</footer>
|
||||
|
||||
</div>
|
||||
<div class="md-dialog" data-md-component="dialog">
|
||||
<div class="md-dialog__inner md-typeset"></div>
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<script id="__config" type="application/json">{"annotate": null, "base": ".", "features": ["navigation.tabs", "navigation.sections", "navigation.expand", "navigation.top", "search.suggest", "search.highlight"], "search": "assets/javascripts/workers/search.2c215733.min.js", "tags": null, "translations": {"clipboard.copied": "\u5df2\u590d\u5236", "clipboard.copy": "\u590d\u5236", "search.result.more.one": "\u5728\u8be5\u9875\u4e0a\u8fd8\u6709 1 \u4e2a\u7b26\u5408\u6761\u4ef6\u7684\u7ed3\u679c", "search.result.more.other": "\u5728\u8be5\u9875\u4e0a\u8fd8\u6709 # \u4e2a\u7b26\u5408\u6761\u4ef6\u7684\u7ed3\u679c", "search.result.none": "\u6ca1\u6709\u627e\u5230\u7b26\u5408\u6761\u4ef6\u7684\u7ed3\u679c", "search.result.one": "\u627e\u5230 1 \u4e2a\u7b26\u5408\u6761\u4ef6\u7684\u7ed3\u679c", "search.result.other": "# \u4e2a\u7b26\u5408\u6761\u4ef6\u7684\u7ed3\u679c", "search.result.placeholder": "\u952e\u5165\u4ee5\u5f00\u59cb\u641c\u7d22", "search.result.term.missing": "\u7f3a\u5c11", "select.version": "\u9009\u62e9\u5f53\u524d\u7248\u672c"}, "version": null}</script>
|
||||
|
||||
|
||||
<script src="assets/javascripts/bundle.79ae519e.min.js"></script>
|
||||
|
||||
|
||||
</body>
|
||||
</html>
|
||||
File diff suppressed because it is too large
Load Diff
File diff suppressed because one or more lines are too long
@@ -0,0 +1,27 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
|
||||
<url>
|
||||
<loc>https://oraset.org/</loc>
|
||||
<lastmod>2026-04-24</lastmod>
|
||||
</url>
|
||||
<url>
|
||||
<loc>https://oraset.org/en/</loc>
|
||||
<lastmod>2026-04-24</lastmod>
|
||||
</url>
|
||||
<url>
|
||||
<loc>https://oraset.org/en/libraries/math/</loc>
|
||||
<lastmod>2026-04-24</lastmod>
|
||||
</url>
|
||||
<url>
|
||||
<loc>https://oraset.org/en/tutorial/quickstart/</loc>
|
||||
<lastmod>2026-04-24</lastmod>
|
||||
</url>
|
||||
<url>
|
||||
<loc>https://oraset.org/libraries/math/</loc>
|
||||
<lastmod>2026-04-24</lastmod>
|
||||
</url>
|
||||
<url>
|
||||
<loc>https://oraset.org/tutorial/quickstart/</loc>
|
||||
<lastmod>2026-04-24</lastmod>
|
||||
</url>
|
||||
</urlset>
|
||||
Binary file not shown.
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,64 @@
|
||||
// 测试类定义
|
||||
|
||||
class Calculator {
|
||||
def add(a, b) {
|
||||
return a + b;
|
||||
}
|
||||
|
||||
def subtract(a, b) {
|
||||
return a - b;
|
||||
}
|
||||
|
||||
def multiply(a, b) {
|
||||
return a * b;
|
||||
}
|
||||
|
||||
def divide(a, b) {
|
||||
return a / b;
|
||||
}
|
||||
}
|
||||
|
||||
// 测试函数功能
|
||||
def add(a, b) {
|
||||
return a + b;
|
||||
}
|
||||
|
||||
def subtract(a, b) {
|
||||
return a - b;
|
||||
}
|
||||
|
||||
def multiply(a, b) {
|
||||
return a * b;
|
||||
}
|
||||
|
||||
def divide(a, b) {
|
||||
return a / b;
|
||||
}
|
||||
|
||||
def calculate() {
|
||||
result = add(10, 20);
|
||||
show(`10 + 20 = `, result);
|
||||
|
||||
result = subtract(30, 10);
|
||||
show(`30 - 10 = `, result);
|
||||
|
||||
result = multiply(5, 6);
|
||||
show(`5 * 6 = `, result);
|
||||
|
||||
result = divide(20, 4);
|
||||
show(`20 / 4 = `, result);
|
||||
}
|
||||
|
||||
// 调用测试函数
|
||||
calculate();
|
||||
|
||||
// 测试递归函数
|
||||
def factorial(n) {
|
||||
if (n == 0 || n == 1) {
|
||||
return 1;
|
||||
}
|
||||
return n * factorial(n - 1);
|
||||
}
|
||||
|
||||
result = factorial(5);
|
||||
show(`Factorial of 5 is `, result);
|
||||
@@ -0,0 +1,49 @@
|
||||
// 测试条件语句
|
||||
x = 10;
|
||||
y = 20;
|
||||
|
||||
if (x < y) {
|
||||
show(`x is less than y`);
|
||||
} else {
|
||||
show(`x is not less than y`);
|
||||
}
|
||||
|
||||
// 测试else if
|
||||
score = 85;
|
||||
|
||||
if (score >= 90) {
|
||||
show(`Grade: A`);
|
||||
} else if (score >= 80) {
|
||||
show(`Grade: B`);
|
||||
} else if (score >= 70) {
|
||||
show(`Grade: C`);
|
||||
} else {
|
||||
show(`Grade: F`);
|
||||
}
|
||||
|
||||
// 测试循环语句
|
||||
i = 0;
|
||||
while (i < 5) {
|
||||
show(`i = `, i);
|
||||
i += 1;
|
||||
}
|
||||
|
||||
// 测试逻辑操作符
|
||||
a = 1;
|
||||
b = 0;
|
||||
|
||||
if (a == 1 && b == 0) {
|
||||
show(`a is 1 and b is 0`);
|
||||
}
|
||||
|
||||
if (a == 1 || b == 1) {
|
||||
show(`Either a or b is 1`);
|
||||
}
|
||||
|
||||
// 测试复合赋值操作符
|
||||
count = 0;
|
||||
count += 5;
|
||||
show(`count after += 5: `, count);
|
||||
|
||||
count *= 2;
|
||||
show(`count after *= 2: `, count);
|
||||
@@ -0,0 +1 @@
|
||||
input username "test"
|
||||
@@ -0,0 +1,17 @@
|
||||
#!/usr/bin/env python3
|
||||
|
||||
import sys
|
||||
sys.path.insert(0, 'f:/Oraset')
|
||||
|
||||
from oraset import Lexer
|
||||
|
||||
source = '''input username "test"'''
|
||||
|
||||
lexer = Lexer(source)
|
||||
tokens = []
|
||||
while True:
|
||||
tok = lexer.get_next_token()
|
||||
tokens.append(tok)
|
||||
print(f"Token: type={tok.type}, value={repr(tok.value)}, line={tok.line}, col={tok.column}")
|
||||
if tok.type == 'EOF':
|
||||
break
|
||||
@@ -0,0 +1,27 @@
|
||||
// 测试转义符
|
||||
|
||||
// 测试换行符
|
||||
show(`Line 1\nLine 2`);
|
||||
|
||||
// 测试制表符
|
||||
show(`Column 1\tColumn 2`);
|
||||
|
||||
// 测试回车符
|
||||
show(`Hello\rWorld`);
|
||||
|
||||
// 测试反斜杠
|
||||
show(`Path: C:\\Users\\Name`);
|
||||
|
||||
// 测试反引号
|
||||
show(`Backtick: \``);
|
||||
|
||||
// 测试未知转义符
|
||||
show(`Unknown escape: \x`);
|
||||
|
||||
// 测试转义符在字符串中的位置
|
||||
message = `This is a\nmulti-line\nstring`;
|
||||
show(message);
|
||||
|
||||
// 测试转义符与内置函数的结合
|
||||
length = len(`Hello\nWorld`);
|
||||
show(`Length of string with newline: `, length);
|
||||
@@ -0,0 +1,50 @@
|
||||
// 测试函数定义和调用
|
||||
|
||||
def add(a, b) {
|
||||
return a + b;
|
||||
}
|
||||
|
||||
result = add(10, 20);
|
||||
show(`10 + 20 = `, result);
|
||||
|
||||
// 测试函数返回值
|
||||
def multiply(a, b) {
|
||||
product = a * b;
|
||||
return product;
|
||||
}
|
||||
|
||||
result = multiply(5, 6);
|
||||
show(`5 * 6 = `, result);
|
||||
|
||||
// 测试类定义
|
||||
class Calculator {
|
||||
def add(a, b) {
|
||||
return a + b;
|
||||
}
|
||||
|
||||
def subtract(a, b) {
|
||||
return a - b;
|
||||
}
|
||||
|
||||
def multiply(a, b) {
|
||||
return a * b;
|
||||
}
|
||||
|
||||
def divide(a, b) {
|
||||
return a / b;
|
||||
}
|
||||
}
|
||||
|
||||
// 测试类的使用(简化版,直接调用类方法)
|
||||
// 注意:完整的类实例化和方法调用需要更多的实现
|
||||
|
||||
// 测试递归函数
|
||||
def factorial(n) {
|
||||
if (n == 0 || n == 1) {
|
||||
return 1;
|
||||
}
|
||||
return n * factorial(n - 1);
|
||||
}
|
||||
|
||||
result = factorial(5);
|
||||
show(`Factorial of 5 is `, result);
|
||||
@@ -0,0 +1,12 @@
|
||||
!! 简单的Hello World程序
|
||||
show(`Hello, Oraset!`);
|
||||
|
||||
!! 变量定义和算术运算
|
||||
x = 10;
|
||||
y = 20;
|
||||
sum = x + y;
|
||||
show(`Sum: `, sum);
|
||||
|
||||
!! 字符串拼接
|
||||
message = `Hello, ` + `Oraset!`;
|
||||
show(message);
|
||||
@@ -0,0 +1 @@
|
||||
eJzT11d4vq7hae/U57NaPFJzcvIVwvOLclKer+h+uqufqzgjv1wjASyuo+BflFicWqKYoGnNxaWvr/C0f8bL9v6n62Y92dn5dFLP83XTn81Z/2L/BCCDq0LBVsHQwJqrEkgbAeni0lwgq0JBW6HSGmpocGmulUKCjgJQCmbg2unP1yx7smPTs+49z/qWcuWmFhcnpqcCNcJckAA0IAHmDKhBUFVAMwAGg1K+
|
||||
@@ -0,0 +1,63 @@
|
||||
// 测试内置库函数
|
||||
|
||||
// 数学函数测试
|
||||
show(`=== 数学函数测试 ===`);
|
||||
|
||||
abs_value = abs(-10);
|
||||
show(`abs(-10) = `, abs_value);
|
||||
|
||||
max_value = max(10, 20);
|
||||
show(`max(10, 20) = `, max_value);
|
||||
|
||||
min_value = min(10, 20);
|
||||
show(`min(10, 20) = `, min_value);
|
||||
|
||||
pow_value = pow(2, 3);
|
||||
show(`pow(2, 3) = `, pow_value);
|
||||
|
||||
sqrt_value = sqrt(16);
|
||||
show(`sqrt(16) = `, sqrt_value);
|
||||
|
||||
// 字符串函数测试
|
||||
show(`\n=== 字符串函数测试 ===`);
|
||||
|
||||
message = `Hello, Oraset!`;
|
||||
|
||||
length = len(message);
|
||||
show(`len("Hello, Oraset!") = `, length);
|
||||
|
||||
upper_case = upper(message);
|
||||
show(`upper("Hello, Oraset!") = `, upper_case);
|
||||
|
||||
lower_case = lower(message);
|
||||
show(`lower("Hello, Oraset!") = `, lower_case);
|
||||
|
||||
sub_str = substring(message, 0, 5);
|
||||
show(`substring("Hello, Oraset!", 0, 5) = `, sub_str);
|
||||
|
||||
// 其他函数测试
|
||||
show(`\n=== 其他函数测试 ===`);
|
||||
|
||||
// 注意:input函数会等待用户输入,这里注释掉
|
||||
// user_input = input(`请输入一个值: `);
|
||||
// show(`你输入的值是: `, user_input);
|
||||
|
||||
int_value = int(`123`);
|
||||
show(`int("123") = `, int_value);
|
||||
|
||||
str_value = str(456);
|
||||
show(`str(456) = `, str_value);
|
||||
|
||||
// 测试函数组合
|
||||
show(`\n=== 函数组合测试 ===`);
|
||||
|
||||
combined = upper(substring(`Hello, World!`, 0, 5));
|
||||
show(`upper(substring("Hello, World!", 0, 5)) = `, combined);
|
||||
|
||||
// 测试用户定义函数与内置函数的结合
|
||||
def calculate_area(radius) {
|
||||
return pow(radius, 2) * 3; // 简化的圆面积计算
|
||||
}
|
||||
|
||||
area = calculate_area(5);
|
||||
show(`calculate_area(5) = `, area);
|
||||
@@ -0,0 +1,11 @@
|
||||
// 测试网络请求功能
|
||||
|
||||
// 测试HTTP GET请求
|
||||
response = http_get(`http://example.com`);
|
||||
show(`HTTP GET response length: `, len(response));
|
||||
show(`First 100 characters: `, substring(response, 0, 100));
|
||||
|
||||
// 测试HTTP POST请求
|
||||
post_data = `{"name": "Oraset", "version": "1.0"}`;
|
||||
post_response = http_post(`http://httpbin.org/post`, post_data);
|
||||
show(`\nHTTP POST response: `, post_response);
|
||||
@@ -0,0 +1,17 @@
|
||||
// 测试.oraset文件
|
||||
show(`Hello from .oraset file!`);
|
||||
|
||||
// 变量定义
|
||||
x = 10;
|
||||
y = 20;
|
||||
sum = x + y;
|
||||
show(`10 + 20 = `, sum);
|
||||
|
||||
// 函数定义
|
||||
def add(a, b) {
|
||||
return a + b;
|
||||
}
|
||||
|
||||
// 函数调用
|
||||
result = add(5, 6);
|
||||
show(`5 + 6 = `, result);
|
||||
@@ -0,0 +1,3 @@
|
||||
!! 简单测试arr
|
||||
arr1 = arr(`apple`);
|
||||
show(arr1);
|
||||
@@ -0,0 +1,67 @@
|
||||
!! 全面测试数组功能
|
||||
|
||||
!! 基本数组操作
|
||||
show(`=== 基本数组操作 ===`);
|
||||
|
||||
!! 创建数组
|
||||
fruits = arr(`apple`, `banana`, `cherry`);
|
||||
show(`创建数组: `, fruits);
|
||||
show(`数组长度: `, len(fruits));
|
||||
|
||||
!! 数组索引访问
|
||||
show(`第一个元素: `, fruits[0]);
|
||||
show(`第二个元素: `, fruits[1]);
|
||||
show(`第三个元素: `, fruits[2]);
|
||||
|
||||
!! 数组修改
|
||||
fruits = push(fruits, `date`);
|
||||
show(`添加元素后: `, fruits);
|
||||
|
||||
fruits = pop(fruits);
|
||||
show(`删除元素后: `, fruits);
|
||||
|
||||
!! 数组搜索
|
||||
show(`banana的索引: `, indexOf(fruits, `banana`));
|
||||
show(`orange的索引: `, indexOf(fruits, `orange`));
|
||||
|
||||
!! 高级数组操作
|
||||
show(`\n=== 高级数组操作 ===`);
|
||||
|
||||
!! 数组反转
|
||||
reversed_fruits = reverse(fruits);
|
||||
show(`反转数组: `, reversed_fruits);
|
||||
|
||||
!! 数组合并
|
||||
show(`数组合并成字符串: `, join(fruits, `, `));
|
||||
|
||||
!! 数组排序
|
||||
numbers = arr(`3`, `1`, `4`, `1`, `5`, `9`, `2`);
|
||||
show(`原数字数组: `, numbers);
|
||||
sorted_numbers = sort(numbers);
|
||||
show(`排序后: `, sorted_numbers);
|
||||
|
||||
!! 数组切片
|
||||
show(`切片 [0:2]: `, slice(fruits, `0`, `2`));
|
||||
show(`切片 [1:3]: `, slice(fruits, `1`, `3`));
|
||||
|
||||
!! 数组嵌套
|
||||
show(`\n=== 数组嵌套 ===`);
|
||||
nested = arr(`a`, arr(`b`, `c`), `d`);
|
||||
show(`嵌套数组: `, nested);
|
||||
show(`嵌套数组长度: `, len(nested));
|
||||
|
||||
!! 数组与数学运算
|
||||
show(`\n=== 数组与数学运算 ===`);
|
||||
nums = arr(`10`, `20`, `30`);
|
||||
show(`原数组: `, nums);
|
||||
show(`第一个元素的平方根: `, math.sqrt(nums[0]));
|
||||
show(`第二个元素的平方: `, math.pow(nums[1], `2`));
|
||||
|
||||
!! 数组遍历模拟
|
||||
show(`\n=== 数组遍历模拟 ===`);
|
||||
i = 0;
|
||||
while (i < len(fruits)) {
|
||||
show(`元素 `, i, `: `, fruits[i]);
|
||||
i = i + 1;
|
||||
}
|
||||
|
||||
@@ -0,0 +1,40 @@
|
||||
!! 测试数组功能
|
||||
|
||||
!! 基本数组操作
|
||||
show(`=== 测试基本数组操作 ===`);
|
||||
arr1 = arr(`apple`, `banana`, `cherry`);
|
||||
show(`初始数组: `, arr1);
|
||||
show(`数组长度: `, len(arr1));
|
||||
|
||||
!! 数组操作
|
||||
arr1 = push(arr1, `date`);
|
||||
show(`添加元素后: `, arr1);
|
||||
|
||||
arr1 = pop(arr1);
|
||||
show(`删除元素后: `, arr1);
|
||||
|
||||
show(`banana的索引: `, indexOf(arr1, `banana`));
|
||||
|
||||
!! 新添加的数组功能
|
||||
show(`\n=== 测试新数组功能 ===`);
|
||||
|
||||
!! 数组反转
|
||||
reversed_arr = reverse(arr1);
|
||||
show(`反转数组: `, reversed_arr);
|
||||
|
||||
!! 数组合并
|
||||
arr2 = arr(`1`, `2`, `3`);
|
||||
merged_arr = push(push(push(arr1, arr2[0]), arr2[1]), arr2[2]);
|
||||
show(`合并数组: `, merged_arr);
|
||||
|
||||
!! 数组排序
|
||||
sorted_arr = sort(merged_arr);
|
||||
show(`排序后: `, sorted_arr);
|
||||
|
||||
!! 数组切片
|
||||
sliced_arr = slice(arr1, `0`, `2`);
|
||||
show(`切片 [0:2]: `, sliced_arr);
|
||||
|
||||
!! 数组合并成字符串
|
||||
joined_str = join(arr1, `, `);
|
||||
show(`数组合并成字符串: `, joined_str);
|
||||
@@ -0,0 +1,56 @@
|
||||
!! 测试新的 array 库
|
||||
|
||||
!! 导入 array 库
|
||||
@array;
|
||||
|
||||
show(`=== 测试 array 库函数 ===`);
|
||||
|
||||
!! 创建数组
|
||||
fruits = arr(`apple`, `banana`, `cherry`);
|
||||
show(`原数组: `, fruits);
|
||||
|
||||
!! array.length - 获取数组长度
|
||||
show(`\n数组长度: `, array.length(fruits));
|
||||
|
||||
!! array.push - 添加元素到末尾
|
||||
fruits = array.push(fruits, `date`);
|
||||
show(`\n添加 'date' 后: `, fruits);
|
||||
|
||||
!! array.pop - 删除末尾元素
|
||||
fruits = array.pop(fruits);
|
||||
show(`删除末尾元素后: `, fruits);
|
||||
|
||||
!! array.unshift - 添加元素到开头
|
||||
fruits = array.unshift(fruits, `grape`);
|
||||
show(`\n添加 'grape' 到开头后: `, fruits);
|
||||
|
||||
!! array.shift - 删除开头元素
|
||||
fruits = array.shift(fruits);
|
||||
show(`删除开头元素后: `, fruits);
|
||||
|
||||
!! array.indexOf - 查找元素位置
|
||||
show(`\n'banana' 的位置: `, array.indexOf(fruits, `banana`));
|
||||
show(`'orange' 的位置: `, array.indexOf(fruits, `orange`));
|
||||
|
||||
!! array.lastIndexOf - 查找元素最后位置
|
||||
numbers = arr(`1`, `2`, `3`, `2`, `1`);
|
||||
show(`\n数字数组: `, numbers);
|
||||
show(`'2' 最后出现的位置: `, array.lastIndexOf(numbers, `2`));
|
||||
|
||||
!! array.includes - 检查元素是否存在
|
||||
show(`\n是否包含 'cherry': `, array.includes(fruits, `cherry`));
|
||||
show(`是否包含 'orange': `, array.includes(fruits, `orange`));
|
||||
|
||||
!! array.join - 数组合并为字符串
|
||||
show(`\n数组合并为字符串: `, array.join(fruits, `, `));
|
||||
|
||||
!! array.reverse - 反转数组
|
||||
reversed = array.reverse(fruits);
|
||||
show(`\n反转后: `, reversed);
|
||||
|
||||
!! array.sort - 排序数组
|
||||
show(`\n排序后: `, array.sort(fruits));
|
||||
|
||||
!! array.slice - 截取数组
|
||||
show(`\n截取 [0:2]: `, array.slice(fruits, `0`, `2`));
|
||||
show(`截取 [1:3]: `, array.slice(fruits, `1`, `3`));
|
||||
@@ -0,0 +1,13 @@
|
||||
!! 测试bflang库的bf函数
|
||||
|
||||
show(`=== Testing bflang library ===`)
|
||||
|
||||
!! 测试Hello World Brainfuck代码
|
||||
hello_world = `++++++++[>++++[>++>+++>+++>+<<<<-]>+>+>->>+[<]<-]>>.>---.+++++++..+++.>>.<-.<.+++.------.--------.>>+.>++.`
|
||||
result = bf(hello_world)
|
||||
show(`Brainfuck Hello World: `, result)
|
||||
|
||||
!! 测试简单的Brainfuck代码
|
||||
simple_code = `++++++++++[>+++++++>++++++++++>+++>+<<<<-]>++.>+.+++++++..+++.>++.<<+++++++++++++++.>.+++.------.--------.>+.>.`
|
||||
result = bf(simple_code)
|
||||
show(`Brainfuck simple code: `, result)
|
||||
@@ -0,0 +1,11 @@
|
||||
!! 测试bflang模块的导入和使用
|
||||
|
||||
!! 导入bflang模块
|
||||
import bflang
|
||||
|
||||
show(`=== Testing bflang module ===`)
|
||||
|
||||
!! 测试Hello World Brainfuck代码
|
||||
hello_world = `++++++++[>++++[>++>+++>+++>+<<<<-]>+>+>->>+[<]<-]>>.>---.+++++++..+++.>>.<-.<.+++.------.--------.>>+.>++.`
|
||||
result = bf(hello_world)
|
||||
show(`Brainfuck Hello World: `, result)
|
||||
@@ -0,0 +1,50 @@
|
||||
!! 测试新的内置库函数
|
||||
|
||||
!! 测试文件操作函数
|
||||
show(`=== Testing File Operations ===`)
|
||||
|
||||
!! 写入文件
|
||||
result = file_write(`test_file.txt`, `Hello, Oraset!\nThis is a test file.`)
|
||||
show(`file_write result: `, result)
|
||||
|
||||
!! 检查文件是否存在
|
||||
exists = file_exists(`test_file.txt`)
|
||||
show(`file_exists result: `, exists)
|
||||
|
||||
!! 读取文件内容
|
||||
content = file_read(`test_file.txt`)
|
||||
show(`file_read result: `, content)
|
||||
|
||||
!! 测试时间函数
|
||||
show(`\n=== Testing Time Functions ===`)
|
||||
|
||||
!! 获取当前时间
|
||||
current_time = time_now()
|
||||
show(`Current time: `, current_time)
|
||||
|
||||
!! 测试随机数函数
|
||||
show(`\n=== Testing Random Functions ===`)
|
||||
|
||||
!! 生成随机整数
|
||||
random_num = random_int(1, 100)
|
||||
show(`Random integer (1-100): `, random_num)
|
||||
|
||||
!! 生成随机浮点数
|
||||
random_float_num = random_float()
|
||||
show(`Random float (0-1): `, random_float_num)
|
||||
|
||||
!! 测试系统函数
|
||||
show(`\n=== Testing System Functions ===`)
|
||||
|
||||
!! 执行系统命令
|
||||
os_name = get_env(`OS`)
|
||||
if (os_name == `Windows_NT`) {
|
||||
system_output = system(`dir`)
|
||||
} else {
|
||||
system_output = system(`ls -la`)
|
||||
}
|
||||
show(`System command output: `, system_output)
|
||||
|
||||
!! 获取环境变量
|
||||
path = get_env(`PATH`)
|
||||
show(`PATH environment variable: `, substring(path, 0, 100), `...`)
|
||||
@@ -0,0 +1,12 @@
|
||||
// 测试错误显示功能
|
||||
|
||||
// 语法错误:缺少分号
|
||||
x = 10
|
||||
|
||||
// 运行时错误:调用不存在的函数
|
||||
unknown_function();
|
||||
|
||||
// 语法错误:括号不匹配
|
||||
if (x > 5 {
|
||||
show(`x is greater than 5`);
|
||||
}
|
||||
@@ -0,0 +1,7 @@
|
||||
// 测试错误显示功能
|
||||
|
||||
// 语法错误:缺少分号
|
||||
x = 10
|
||||
|
||||
// 运行时错误:调用不存在的函数
|
||||
unknown_function();
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user