没有项目描述
ply-pybasic的Python项目详细描述
#py basic
一个用python编写的结构化basic解释器。
``普通
用法:pybasic.py[-h][-a][-s ast_path][program_name]
执行pybasic程序,或启动repl会话。
位置参数:
program_name要执行的源程序的路径。如果未指定
,将启动一个RePL会话。
BR/>可选参数:
-H,帮助显示此帮助消息,并退出
-A,-AST执行二进制抽象语法树文件,而不是
源程序。在repl模式下,这将被忽略。
-s ast_path,--save ast_path
将源程序的二进制抽象语法树保存到给定路径。不会执行源程序。在REPL模式下,这将被忽略。
```
表达式
支持的表达式:
-`<;表达式>;`:数学表达式。支持运算符:逻辑表达式。支持运算符:` and`,
` or`,`not`,`=`(等于),`<;>例如:
``基本
123'123
123.5'123.5
“123!”'123!“
{1,2,3}[1,2,3]
sqr(5)'2.2360679777749979
```
` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` `
sqr(5)'2.23606067977777777777749979
<1,2,3}{{1,2,3}{1,2,3}{1,2,3}{1,2,3}1,2,3}1,2,2,2,2,3}3}br/>br/>/>是的。但是,您仍然可以使用“dim”创建一个包含初始值的数组。例如:
``basic
dim a(5)as integer
print a'[0,0,0,0]
````
结束时/wend`
-`do…循环`
-`do…循环while/until<;rel_expression>;`
-`for<;id>;=<;expression>;到<;expression>;…下一个<;id>;/结束于`
请注意,不支持“goto”。
这意味着可以在运行时修改变量的类型。
使用“as”运算符进行类型转换。例如:
``basic
2.5 as integer'2
2.5 as string''2.5”
````
例如:
``basic
defun f(x)=x*x
print f(5)'25
````
结束子“或”函数…结束函数`.
例如:
`` basic
defun prtyes(s)=print(“yes!”+s)
sub prtyeah(s)
打印“耶!”+s
结束sub
prtyes“pybasic”'“是!pybasic“
prtyeah”pybasic“'”是的!pybasic“
```
例如:
``basic
a=input()作为整数'input 17
print“my age is”+a“my age is 17”
````
pybasic将尝试查找以``.bas``或````.py``结尾的文件正在当前工作目录中设置模块的名称。如果找不到这样的文件,将引发错误。例如:
``basic
'hello.bas
function prthello(a)
print“hello,+a
`````
``python
``morning.py
%s%a)
````
```basic
'main.bas
use hello
use morning
prtmorn“mary”'早上好,mary
```
模块中的任何代码都将被执行。如果模块基于python,则在运行时执行;如果模块基于pybasic,则在执行之前将其编译到主程序中。
一个用python编写的结构化basic解释器。
``普通
用法:pybasic.py[-h][-a][-s ast_path][program_name]
执行pybasic程序,或启动repl会话。
位置参数:
program_name要执行的源程序的路径。如果未指定
,将启动一个RePL会话。
BR/>可选参数:
-H,帮助显示此帮助消息,并退出
-A,-AST执行二进制抽象语法树文件,而不是
源程序。在repl模式下,这将被忽略。
-s ast_path,--save ast_path
将源程序的二进制抽象语法树保存到给定路径。不会执行源程序。在REPL模式下,这将被忽略。
```
表达式
支持的表达式:
-`<;表达式>;`:数学表达式。支持运算符:逻辑表达式。支持运算符:` and`,
` or`,`not`,`=`(等于),`<;>例如:
``基本
123'123
123.5'123.5
“123!”'123!“
{1,2,3}[1,2,3]
sqr(5)'2.2360679777749979
```
` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` `
sqr(5)'2.23606067977777777777749979
<1,2,3}{{1,2,3}{1,2,3}{1,2,3}{1,2,3}1,2,3}1,2,2,2,2,3}3}br/>br/>/>是的。但是,您仍然可以使用“dim”创建一个包含初始值的数组。例如:
``basic
dim a(5)as integer
print a'[0,0,0,0]
````
结束时/wend`
-`do…循环`
-`do…循环while/until<;rel_expression>;`
-`for<;id>;=<;expression>;到<;expression>;…下一个<;id>;/结束于`
请注意,不支持“goto”。
这意味着可以在运行时修改变量的类型。
使用“as”运算符进行类型转换。例如:
``basic
2.5 as integer'2
2.5 as string''2.5”
````
例如:
``basic
defun f(x)=x*x
print f(5)'25
````
结束子“或”函数…结束函数`.
例如:
`` basic
defun prtyes(s)=print(“yes!”+s)
sub prtyeah(s)
打印“耶!”+s
结束sub
prtyes“pybasic”'“是!pybasic“
prtyeah”pybasic“'”是的!pybasic“
```
例如:
``basic
a=input()作为整数'input 17
print“my age is”+a“my age is 17”
````
pybasic将尝试查找以``.bas``或````.py``结尾的文件正在当前工作目录中设置模块的名称。如果找不到这样的文件,将引发错误。例如:
``basic
'hello.bas
function prthello(a)
print“hello,+a
`````
``python
``morning.py
%s%a)
````
```basic
'main.bas
use hello
use morning
```
模块中的任何代码都将被执行。如果模块基于python,则在运行时执行;如果模块基于pybasic,则在执行之前将其编译到主程序中。