In computational linguistics, JAPE is the Java Annotation Patterns Engine, a component of the open-source General Architecture for Text Engineering (GATE) platform. JAPE is a finite state transducer that operates over annotations based on regular expressions. Thus, it is useful for pattern-matching, semantic extraction, and many other operations over syntactic trees such as those produced by natural language parsers.
JAPE is a version of CPSL – Common Pattern Specification Language.
A JAPE grammar consists of a set of phases, each of which consists of a set of pattern/action rules. The phases run sequentially and constitute a cascade of finite state transducers over annotations. The left-hand-side (LHS) of the rules consist of an annotation pattern description.[1] The right-hand-side (RHS) consists of annotation manipulation statements. Annotations matched on the LHS of a rule may be referred to on the RHS by means of labels that are attached to pattern elements.
References
Dhaval Thakker, Taha Osman, Phil Lakin, JAPE Grammar Tutorial, https://gate.ac.uk/sale/thakker-jape-tutorial/GATE%20JAPE%20manual.pdf