openCypher - Cypher JavaCC based parser

Cypher parser using JavaCC

License

License

Categories

Categories

JavaCC Build Tools Compiler-compiler
GroupId

GroupId

org.opencypher
ArtifactId

ArtifactId

cypher-javacc-parser-9.0
Last Version

Last Version

9.0.20210312
Release Date

Release Date

Type

Type

jar
Description

Description

openCypher - Cypher JavaCC based parser
Cypher parser using JavaCC
Source Code Management

Source Code Management

https://github.com/openCypher/front-end

Download cypher-javacc-parser-9.0

How to add to project

<!-- https://jarcasting.com/artifacts/org.opencypher/cypher-javacc-parser-9.0/ -->
<dependency>
    <groupId>org.opencypher</groupId>
    <artifactId>cypher-javacc-parser-9.0</artifactId>
    <version>9.0.20210312</version>
</dependency>
// https://jarcasting.com/artifacts/org.opencypher/cypher-javacc-parser-9.0/
implementation 'org.opencypher:cypher-javacc-parser-9.0:9.0.20210312'
// https://jarcasting.com/artifacts/org.opencypher/cypher-javacc-parser-9.0/
implementation ("org.opencypher:cypher-javacc-parser-9.0:9.0.20210312")
'org.opencypher:cypher-javacc-parser-9.0:jar:9.0.20210312'
<dependency org="org.opencypher" name="cypher-javacc-parser-9.0" rev="9.0.20210312">
  <artifact name="cypher-javacc-parser-9.0" type="jar" />
</dependency>
@Grapes(
@Grab(group='org.opencypher', module='cypher-javacc-parser-9.0', version='9.0.20210312')
)
libraryDependencies += "org.opencypher" % "cypher-javacc-parser-9.0" % "9.0.20210312"
[org.opencypher/cypher-javacc-parser-9.0 "9.0.20210312"]

Dependencies

compile (5)

Group / Artifact Type Version
org.scala-lang : scala-library jar 2.12.7
org.scala-lang : scala-reflect jar 2.12.7
org.scalatest : scalatest_2.12 jar 3.0.5
org.scalacheck : scalacheck_2.12 jar 1.14.0
org.opencypher : cypher-ast-factory-9.0 jar 9.0.20210312

test (5)

Group / Artifact Type Version
org.junit.jupiter : junit-jupiter jar 5.6.2
junit : junit jar 4.12
org.hamcrest : hamcrest-core jar 1.3
org.hamcrest : hamcrest-library jar 1.3
org.mockito : mockito-core jar 2.18.3

Project Modules

There are no modules declared in this project.

The Cypher Front End Modules

Build Status

This repository holds a fully functional front end for the Cypher Property Graph Query Language. This includes a parser, an AST, semantic checking and analysis, and AST rewriting support. Its purpose is to assist anyone wanting to build tools, or working on implementing Cypher for database systems.

It is also the shared front end for Neo4j and Morpheus.

Overview of the included modules

  • AST

    • Contains the AST classes (except expressions), and the semantic analysis.

  • Expressions

    • This contains all expressions.

  • Front End

    • This module contains a prettifier for the AST, and infrastructure data structures for compiler pipelines.

  • Parser

    • Contains a parser for the Cypher Query Language.

  • Rewriting

    • This contains a set of AST rewriters that simplify and canonicalize the tree before further processing.

  • Util

    • Contains shared code and test utilities.

Why do the modules have the version number in the name?

A common feature for database systems is to allow backwards compatability for older releases of the software. This makes it possible to move over systems query by query to an updated version of the database. The names allow for two or more versions of compiler pipelines loaded at the same time. It makes it possible for us to release updated, binary incompatible versions of the front ends.

License

The openCypher project is licensed under the Apache license 2.0.

org.opencypher

Versions

Version
9.0.20210312