scalameta - Library to read, analyze, transform and generate Scala programs

  •        8

Head over to the user docs to learn more about the project and its roadmap. If you'd like to find out how to use scalameta, see this tutorial.

http://scalameta.org/
https://github.com/scalameta/scalameta

Tags
Implementation
License
Platform

   




Related Projects

metals - 🚧 WIP Language Server for Scala 🚧

  •    Scala

This project is an experiment to implement a Language Server for Scala using Scalameta projects such as Scalafmt, Scalafix and SemanticDB. ⚠️ This project is under development and is not intended to be used for day-to-day coding. Expect bugs and incomplete documentation. Installation instructions are primarily intended for project contributors.

JTidy - HTML parser and pretty printer in Java

  •    Java

JTidy is a Java port of HTML Tidy, a HTML syntax checker and pretty printer. Like its non-Java cousin, JTidy can be used as a tool for cleaning up malformed and faulty HTML. In addition, JTidy provides a DOM interface to the document that is being processed, which effectively makes you able to use JTidy as a DOM parser for real-world HTML.

ResumeParser - Resume Parser using rule based approach. Developed using framework provided by GATE

  •    HTML

Parser that extracts information from any resume and converts into a structured .json format to be used by internal systems. The parser uses a rule-based approach that focuses on semantic rather than syntactic parsing. The parser can handle document types in .pdf, .txt, .doc and .docx (Microsoft word). In its current form, this application is a console based application. Parse uses the Engligh grammar engine provided by GATE through its ANNIE framework. The output is then transduced using the grammar rules and lists specifically written for resume parsing. The JAPE grammar defines a generic set of rules that complies with popular ways of resume writing. It takes Proper nouns from lists and applies them to rules to identify entities. Explore the source code and read about GATE for more details. Also, feel free to pose questions.

fipp - Fast Idiomatic Pretty Printer for Clojure

  •    Clojure

Fipp is a better pretty printer for Clojure and ClojureScript. Like clojure.pprint, this pretty printer has a linear runtime and uses bounded space. However, unlike clojure.pprint, Fipp's implementation is tuned for great performance and has a functional, data-driven API.

go-spew - Implements a deep pretty printer for Go data structures to aid in debugging

  •    Go

Go-spew implements a deep pretty printer for Go data structures to aid in debugging. A comprehensive suite of tests with 100% test coverage is provided to ensure proper functionality. See test_coverage.txt for the gocov coverage report. Go-spew is licensed under the liberal ISC license, so it may be used in open source or commercial projects.If you're interested in reading about how this package came to life and some of the challenges involved in providing a deep pretty printer, there is a blog post about it here.


slimit - SlimIt - a JavaScript minifier/parser in Python

  •    Python

SlimIt is a JavaScript minifier written in Python. It compiles JavaScript into more compact code so that it downloads and runs faster. SlimIt also provides a library that includes a JavaScript parser, lexer, pretty printer and a tree visitor.

Java Pretty Printer Library

  •    Java

A Java package for pretty-printing a text by deciding where to introduce line-breaks and indentation. A Java implementation of Derek Oppen\'s pretty printing algorithm. It is _not_ a pretty printer for Java code, though it could be used to write one.

proxy-fun - For learning how to use JavaScript Proxy, or just to see what is possible

  •    Javascript

🐐 For learning how to use JavaScript Proxy, or just to see what is possible through metaprogramming in modern JavaScript. Tries to collect resources such as presentations, articles, modules and examples using Proxy, Reflect and other intercession type metaprogramming. The Proxy object was included in the ES2015 iteration of the standard and is available in all evergreen browsers and Node.js v6. Unfortunately as it is a big language semantic change, it cannot be polyfilled through transpilers such as Babel.

awesome-es2015-proxy - For learning how to use JavaScript Proxy, or just to see what is possible

  •    Javascript

🐐 For learning how to use JavaScript Proxy, or just to see what is possible through metaprogramming in modern JavaScript. Tries to collect resources such as presentations, articles, modules and examples using Proxy, Reflect and other intercession type metaprogramming. The Proxy object was included in the ES2015 iteration of the standard and is available in all evergreen browsers and Node.js v6. Unfortunately as it is a big language semantic change, it cannot be polyfilled through transpilers such as Babel.

Syntactic parser of English sentences

  •    CSharp

Syntactic parser of English sentences is simple parser with enhanced Chomsky's grammar that generates tree structure based on input sentence.

sling - SLING - A natural language frame semantics parser

  •    C++

SLING is a parser for annotating text with frame semantic annotations. It is trained on an annotated corpus using Tensorflow and Dragnn.The parser is a general transition-based frame semantic parser using bi-directional LSTMs for input encoding and a Transition Based Recurrent Unit (TBRU) for output decoding. It is a jointly trained model using only the text tokens as input and the transition system has been designed to output frame graphs directly without any intervening symbolic representation.

Compiler Front End Generator

  •    C

Front provides a compiler front end generator that can generate a parser, pretty printer, symbol table handling, and Abstract Syntax Tree data structures and traversals. It also provides a C preprocessor library, and an AST rewriter generator.

IvmaiAsn

  •    Java

IvmaiAsn ASN1/ECN/XDR Tools. A collection of the ASN.1/ECN parser, XDR-to-ASN.1 converter and pretty-printer scripts for ASN.1/ECN specifications. Contains also a formal definition of the ASN.1 built-in types, ECN encoding classes and XDR encodings.

JTidy

  •    Java

JTidy is a Java port of HTML Tidy, a HTML syntax checker and pretty printer. Like its non-Java cousin, JTidy can be used as a tool for cleaning up malformed and faulty HTML. In addition, JTidy provides a DOM parser for real-world HTML.

backward-cpp - A beautiful stack trace pretty printer for C++

  •    C++

Backward is a beautiful stack trace pretty printer for C++. There is not much to say. Of course it will be able to display the code snippets only if the source files are accessible (else see trace #4 in the example).

phpunit-pretty-result-printer - PHPUnit Pretty Result Printer

  •    PHP

You can customize the markers which are used for success, fail, error, skipped, incomplete by modifying the phpunit-printer.yml file.

litter - Litter is a pretty printer library for Go data structures to aid in debugging and testing.

  •    Go

Litter is a pretty printer library for Go data structures to aid in debugging and testing. It's named for the fact that it outputs literals, which you litter your output with. As a side benefit, all Litter output is compilable Go. You can use Litter to emit data during debug, and it's also really nice for "snapshot data" in unit tests, since it produces consistent, sorted output.

flair - A very simple framework for state-of-the-art NLP

  •    Python

A very simple framework for state-of-the-art NLP. Developed by Zalando Research. A powerful syntactic-semantic tagger / classifier. Flair allows you to apply our state-of-the-art models for named entity recognition (NER), part-of-speech tagging (PoS), frame sense disambiguation, chunking and classification to your text.

exfmt - 🌸 An opinionated Elixir source code formatter.

  •    Elixir

exfmt is in alpha. If you run into any problems, please report them. The format produced by exfmt will change significantly before the 1.0.0 release. If this will cause problems for you, please refrain from using exfmt during the alpha- and beta-test periods.