Senin, 11 Juni 2018

Sponsored Links

Krzysztof Jusiak
src: krzysztof-jusiak.github.io

Google Kythe is an index of source code and cross referencing that describes itself as "pluggable, (mostly) language agnostic ecosystem to create tool that works with code."


Video Google Kythe



Overview

The essence of Google Kythe is in defining the language-agnostic protocols and data formats to represent, access and inquire the source code information as data. Kythe relies on systems and instrument compilers that generate indexing information, semantic information and metadata in specified Kythe format. This information is obtained from running an instrumented build stored in a language-agnostic graph structure. Finally, this graph structure can be asked to answer questions about the codebase.

Google Kythe is an open source project developed by Google. It is licensed under the Apache 2.0 license.

Maps Google Kythe



Grok

Google Kythe comes from an internal project called Grok.

Grok has been proposed by Steve Yegge in 2008. Yegge observes that software projects routinely use more than 3 programming languages, but development tools tend to be language specific and do not handle many programming languages ​​well. Adding support for language to IDE is difficult and ad-hoc analysis tools in IDEs tend to be lower than actual parsers and compilers.

Some parts of Grok were released publicly even before Google Kythe was announced. In 2010, Google released a Python static analyzer that has been developed as part of Grok.

In 2012, C, Java, Python, JS and "2 internal languages" are supported by Grok. There are browser clients with support for database queries and visual navigation through source code. There's an Emacs client.

The Chromium Code Search Browser uses the Grok index to provide quick links to definitions for every symbol in the source code.

Thebeastweb on Weweky - Subscribe! - Thebeastweb
src: www.thebeastweb.com


Reception


Spanner (database) - Wikipedia
src: upload.wikimedia.org


See also

  • Clang
  • Language Server Protocol
  • LXR Cross Referencer
  • OpenGrok

Google Cardboard - Wikipedia
src: upload.wikimedia.org


References


Google Glass - Wikipedia
src: upload.wikimedia.org


External links

Grok

  • Note from Mistery Machine Bus, blog
  • Steve Yegge and Grok, blog
  • Stanford seminar - Google Steve Yegge about GROK, college
  • Project Grok - Steve Yegge - Emacs Conference 2013, talk
  • Steve Yegge on Scalable Programming Language Analysis, talk

Kythe

  • Kythe (Google Kythe Homepage)
  • Indexing Large Codebase, Mixed Languages, speaking

Similar projects

  • Facebook pfff
  • srclib
  • Oracle FrappÃÆ'Â ©
  • Microsoft Language Server Protocol is designed as part of Visual Studio Code, with implementation for multiple languages ​​and integrated by several other development tools.


Source of the article : Wikipedia

Comments
0 Comments