自动机 java 密码_急求大神帮忙编写一个JAVA自动机

题目内容:

输入 & read 1个 BNF 文字档如 example.txt,

如S -> aSb| cd;

大写是 State, 小写是terminal value.

不同State 用 ';' 分隔

然后转变成1个与输入相同意思的自动机

输入格式:

文字 System.in 或 main(String[] args)

文字全都是英文小写

输出格式:

输出为 pass 代表输入的文字符合文字档所代表的意思

输出 error 和 错误的位置

例子:

文字档example.txt 内容是 S -> aSb| cd;

运行 java.main("档案位置\example.txt", "aaacdbbb")

输出pass

运行 java.main("档案位置\example.txt", "acb")

输出 error at c

若文字档格或错误也出 error

如格式是S -> aSb| cdS;

输出 error: The function dose not terminal

aS(*)

cdS(*)

备注: 如不能在1个.java 内完成可分开多个,这样也较清楚

谢谢

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值