- Notifications
You must be signed in to change notification settings - Fork5
根据逻辑表达式生成对应真值表 (Generate corresponding truth table from logical expression)
License
NotificationsYou must be signed in to change notification settings
daidr/truth-table
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
一个心血来潮的小项目
示例地址:https://tb.daidr.me
通过给定的逻辑表达式来生成真值表,并且能够给出中间过程。lexer与parser的部分使用antlr编写。
变元应由字母和数字组成,支持单个字符(如p
q
)或多个字符(如ab
ac
a1
a2
)大小写不一致的变元被视为不同的变元,如A
a
为两个不同的变元。必须由字母开头,如a5
b6
合法,而5a
5
不合法
目前支持下面这些逻辑:
- 合取 (∧) (conjunction)
- 非 (¬) (negation)
- 析取 (∨) (disjunction)
- 蕴涵 (→) (implication)
- 等值于 (⇔) (equivalence)
由于这些符号普遍较难输入,所以提供了一些常见符号用于代换,使用的时候软件会自动帮你将下面这些符号替换为对应的逻辑符号:
- 合取
&
^
- 非
!
!
- 析取
|
- 蕴涵
>
》
- 等值于
=
运算优先级(由高到低递减):¬
∧
∨
→
⇔
,其中连续的蕴涵运算由右向左合并(例如a→b→c
等价于a→(b→c)
)
可以使用括号修改运算的优先级。
由于这个小项目是一天时间糊出来的,代码写的非常乱,之后有时间再整理吧🥱
pnpm
or
yarn
pnpm dev
or
yarn dev
vite调试服务会在http://localhost:4000 启动
pnpm build
or
yarn build
构建的结果会输出到dist
目录下
About
根据逻辑表达式生成对应真值表 (Generate corresponding truth table from logical expression)