java开发工具intellij idea使用教程:定义语法和解析器.pdf
还剩
3页未读,
继续阅读
下载文档到电脑,马上远离加班熬夜!
亲,喜欢就下载吧,价低环保!
内容要点:
慧都 科技 ——帮助企业打造成功软件 ! 4 慧都 科技 ——帮助企业打造成功软件 ! 3 simpleFile ::= item_* private item_ ::= (property|COMMENT|CRLF) property ::= (KEY? SEPARATOR VALUE?) | KEY 这样一个属性文件就可以包含属性、评论和换行了。 语法定义可以使语言支持变得简单,我们制定的属性有值也可能没有值。我们指定一个属性可能有也可能没有键和值。这让 IDE仍然能够识别错误定义的属性,并提供相应的代码分析和快速修正。 5 生成分析器 当语法定义之后,用户就可以通过右键菜单的 Generate Parser Code戒者是通过 Simple.bnf文件中的 ??G快捷方式根据 PSI类生成解析器。 Grammar-Kit将在 gen文件中生成一个的语法工具解析器和 PSI元素。将这个文件夹作为源根,并确保编译没有错误。 慧都 科技 ——帮助企业打造成功软件 ! 2 import org.jetbrains.annotations.NonNls; import org.jetbrains.annotations.NotNull; public class SimpleElementType extends IElementType { public SimpleElementType(@NotNull @NonNls String debugName) { super(debugName, SimpleLanguage.INSTANCE); } } 4 定义语法 以 /com/simpleplugin/Simple.bnf文件定义 属性语言语法。 { parserClass="com.simpleplugin.parser.SimpleParser" stubParserClass="com.simpleplugin.parser.GeneratedParserUtilBase" extends="com.intellij.extapi.psi.ASTWrapperPsiElement" psiClassPrefix="Simple" psiImplClassSuffix="Impl" psiPackage="com.simpleplugin.psi" psiImplPackage="com.simpleplugin.psi.impl" elementTypeHolderClass="com.simpleplugin.psi.SimpleTypes" elementTypeClass="com.simpleplugin.psi.SimpleElementType" tokenTypeClass="com.simpleplugin.psi.SimpleTokenType" } 慧都 科技 ——帮助企业打造成功软件 ! 1 1 复制解析器工具类 将语法插件需要的 GeneratedParserUtilBase类复制到你的源文件中。 2 定义单点登录类型 package com.simpleplugin.psi; import com.intellij.psi.tree.IElementType; import
发表评论
暂无评论,赶快抢占沙发吧。