代码提取自owasp SWAAT项目,会对asp标记(<%%>)内的代码进行词法分析,主要针对中文解析部分做了补充,暂时只支持utf-8中文的解析,如果非utf-8中文编码可能会导致乱码。
至于这个东东能做干嘛,爱干嘛干嘛。
代码解析效果如下:
源码:
- <%
- if request("keywords")<>"" then
- response.write str(clng(request("keywords")))&"中文"
- end If
- Function str(str)
- str=str
- End Function
- %>
解析后的输出:
- Token #Label: if
- Token #Label: request
- Token #Delim: (
- Token #String: keywords
- Token #Delim: )
- Token #Operator: <
- Token #Operator: >
- Token #String:
- Token #Label: then
- Token #Label: response.write
- Token #Label: str
- Token #Delim: (
- Token #Label: clng
- Token #Delim: (
- Token #Label: request
- Token #Delim: (
- Token #String: keywords
- Token #Delim: )
- Token #Delim: )
- Token #Delim: )
- Token #Operator: &
- Token #String: 中文
- Token #Label: end
- Token #Keyword: If
- Token #Label: Function
- Token #Label: str
- Token #Delim: (
- Token #Label: str
- Token #Delim: )
- Token #Label: str
- Token #Operator: =
- Token #Label: str
- Token #Keyword: End
- Token #Label: Function
有些解析还不是太准确,比如function,应该是keyword的,这里被解析成了label。
代码如下:
