当前位置: 首页 > 知识库问答 >
问题:

antlr4 lexer谓词文档

钮才哲
2023-03-14

关于antlr4的几个问题使用了书中没有提到的lexer谓词,例如28730446使用了head(String),42058127使用了getCharPositionInLine(),23465358使用了_input.la(1)等。是否有可用的lexer谓词列表及其文档?

共有1个答案

颜熙云
2023-03-14

这些不是lexer谓词。相反,它们是运行时对象上的普通方法:token#getcharpositioninline()charstream#la(int)。源代码中提供了文档。

Lexer类将_input定义为

public CharStream _input;

此外,Ahead()方法是在特定语法顶部的@lexer::members块中自定义的(取决于charstream#la(int))。

TDAR仍然是最好的证明文档。源代码在内部有很好的文档。

 类似资料:
  • 谓词是指用方括号写的XPath表达式。 它指的是为某些条件限制节点集中的选定节点。 例如, 序号 序号 描述 1 选择第一个元素,它是元素的子元素。 2 选择最后一个元素,它是元素的子元素。 3 使用选择元素。 4 选择大于的元素。 示例 此示例通过迭代每个学生创建一个包含其详细信息的元素。 它计算节点的位置,然后打印学生的详细信息以及序列号。 文件:students.xml - 文件:stude

  • 谓词 Clojure 提供了很多函数来充当谓词的功能 — 测试条件是否成立。它们的返回值是 true或者false。在Clojure里面 false 以及 nil 被解释成false. true 以及任何其他值都被解释成true, 包括0。谓词函数的名字一般以问号结尾。 反射是一种获取一个对象的特性,而不是它的值的过程。比如说对象的类型。有很多谓词函数进行反射。 测试一个对象的类型的谓词包括 cl

  • Predicates是评估条件并提供true或false值的函数。 我们在数字章节的例子中看到了谓词函数。 我们看过像'even?'这样的功能 用来测试一个数字是否是偶数,或'neg?' 用于测试数字是否大于零。 所有这些函数都返回true或false值。 以下是Clojure中谓词的示例。 (ns clojure.examples.example (:gen-class)) ;; This

  • 谓词是针对某些特定条件测试其参数的函数,如果条件为假则返回nil,或者某些非零值是条件为真。 下表显示了一些最常用的谓词 - Sr.No. 谓词和描述 1 atom 它接受一个参数,如果参数是原子则返回t,否则返回nil。 2 equal 它需要两个参数,如果它们在结构上相等则返回t否则返回nil 。 3 eq 它需要两个参数,如果它们是相同的相同对象,则返回t ,共享相同的内存位置,否则返回ni

  • 本文向大家介绍谓词演算,包括了谓词演算的使用技巧和注意事项,需要的朋友参考一下 谓词演算处理谓词,谓词包含变量。 谓词 谓词是在某个特定域上定义的一个或多个变量的表达式。通过给变量赋值或量化变量,可以使带有变量的谓词成为命题。 请请看以下语句。 拉姆是学生。 现在根据谓词演算来考虑以上陈述。 这里“是学生”是谓词,Ram是主题。 让我们将“ Ram”表示为x,将“是学生”表示为谓词P,然后可以将上

  • 本文向大家介绍Prologcall / N谓词,包括了Prologcall / N谓词的使用技巧和注意事项,需要的朋友参考一下 示例 该call/N谓词的家人可以在运行时调用任意Prolog的目标: