帮酷LOGO
  • 显示原文与译文双语对照的内容
文章标签:API  parser  graphql  query-parser  PAR  parse  
A GraphQL query parser in C++ with C and C++ APIs

  • 源代码名称:libgraphqlparser
  • 源代码网址:http://www.github.com/graphql/libgraphqlparser
  • libgraphqlparser源代码文档
  • libgraphqlparser源代码下载
  • Git URL:
    git://www.github.com/graphql/libgraphqlparser.git
  • Git Clone代码到本地:
    git clone http://www.github.com/graphql/libgraphqlparser
  • Subversion代码到本地:
    $ svn co --depth empty http://www.github.com/graphql/libgraphqlparser
    Checked out revision 1.
    $ cd repo
    $ svn up trunk
  • libgraphqlparser

    libgraphqlparser是 GraphQL的解析器,是Facebook为描述复杂应用数据模型的数据需求而创建的一种查询语言,在C++11中实现。 它可以以在 C++ 代码( 或者用 c 代码中定义的纯C API来编写代码) 中使用,也可以以使用它作为你喜欢编程语言的扩展 MODULE的基础。

    示例

    提供的dump_json_ast 是一个简单程序,它在stdin上读取GraphQL文本,并将AST的一个JSON表示输出到 stdout 。

    python 子目录包含一个纯API的python 绑定示例。

    要求

    libgraphqlparser需要一个支持C++11的C++ 编译器。 它还需要 Mac OS X 或者 Linux 。

    要运行测试,请从 https://github.com/google/googletest/archive/release-1.8.0.zip 下载googletest并将它的解压缩到 test 子目录中。

    构建 libgraphqlparser

    libgraphqlparser是用 CMake 构建的。 if Flex和 Bison的最新版本安装在系统上,它将使用它们;否则,它将依赖于选中的parser.tab.{c,h}pplexer.{h,cpp}

    要从源代码生成 libgraphqlparser,请执行以下操作:

    $ # inside the project root:
    $ cmake. 
    $ make

    然后,将它的安装到你的系统上:

    $ make install

    libgraphqlparser的工作原理

    libgraphqlparser使用flex和bison为GraphQL生成 C++ 解析器。 这些工具工作良好,但是现代标准具有独特的接口,因此 GraphQLParser.h 提供了一个简单的接口来解析 GraphQL 。

    为了使基于 GraphQL AST的代码更易于编写,libgraphqlparser在 ast/ 子目录中包含了一个非常简单的代码生成框架。 这个框架用于构建AST类本身,以及一个位于AST之上的访客。 直接理解生成步骤的输出可能很容易,而不是尝试读取生成脚本。 生成libgraphqlparser将导致生成这些文件。

    libgraphqlparser还使用了生成框架在 c 子目录中构建纯的C API 。 这个API可以使用C 代码,它还应该简化创建绑定到其他编程语言的任务。

    许可证

    libgraphqlparser是bsd授权的我们还提供额外的专利授权。

    相关项目



    文章标签:API  PAR  parse  parser  graphql  query-parser  

    Copyright © 2011 HelpLib All rights reserved.    知识分享协议 京ICP备05059198号-3  |  如果智培  |  酷兔英语