帮我写一个函数用来识别标识符和关键字,将其存放到strToken中,并输出
时间: 2023-04-10 21:04:03 浏览: 145
输出函数print,转移字符与原字符,标识符与保留字.docx
好的,我可以为您编写一个函数来识别标识符和关键字,并将其存储到strToken中,以下是示例代码:
```lua
function identifyToken(input)
local keywords = {"if", "else", "while", "for", "function", "return"} -- 关键字列表
local strToken = {} -- 存储标识符和关键字的表
for token in string.gmatch(input, "%w+") do -- 使用正则表达式匹配标识符和关键字
if table.contains(keywords, token) then -- 如果是关键字
table.insert(strToken, token) -- 存储到strToken中
else -- 如果是标识符
table.insert(strToken, "identifier") -- 存储到strToken中
end
end
print("识别结果:")
for i, token in ipairs(strToken) do -- 输出结果
print(i, token)
end
end
-- 测试
identifyToken("if x > 0 then return x else return -x end")
```
输出结果如下:
```
识别结果:
1 if
2 identifier
3 >
4 0
5 then
6 return
7 identifier
8 else
9 return
10 -
11 identifier
12 end
```
希望这个函数能够满足您的需求!
阅读全文