All Projects → jagrosh → JagTag

jagrosh / JagTag

Licence: Apache-2.0 license
📝 JagTag is a simple - yet powerful and customizable - interpretted text parsing language!

Programming Languages

java
68154 projects - #9 most used programming language

Projects that are alternatives of or similar to JagTag

text2tab
TAB-delimited text parser for ABAP
Stars: ✭ 16 (-60%)
Mutual labels:  parsing, text-parser
DrawRacket4Me
DrawRacket4Me draws trees and graphs from your code, making it easier to check if the structure is what you wanted.
Stars: ✭ 43 (+7.5%)
Mutual labels:  parsing
autumn
A Java parser combinator library written with an unmatched feature set.
Stars: ✭ 112 (+180%)
Mutual labels:  parsing
ghakuf
A Rust library for parsing/building SMF (Standard MIDI File).
Stars: ✭ 30 (-25%)
Mutual labels:  parsing
CaptCC
A tiny C compiler written purely in JavaScript.
Stars: ✭ 175 (+337.5%)
Mutual labels:  parsing
Fashion-Clothing-Parsing
FCN, U-Net models implementation in TensorFlow for fashion clothing parsing
Stars: ✭ 29 (-27.5%)
Mutual labels:  parsing
Ohm
A library and language for building parsers, interpreters, compilers, etc.
Stars: ✭ 3,938 (+9745%)
Mutual labels:  parsing
parson
Yet another PEG parser combinator library and DSL
Stars: ✭ 52 (+30%)
Mutual labels:  parsing
MathExpressions.NET
➗ Library for parsing math expressions with rational numbers, finding their derivatives and compiling an optimal IL code
Stars: ✭ 63 (+57.5%)
Mutual labels:  parsing
Syntax
Write value-driven parsers quickly in Swift with an intuitive SwiftUI-like DSL
Stars: ✭ 134 (+235%)
Mutual labels:  parsing
NFlags
Simple yet powerfull library to made parsing CLI arguments easy. Library also allow to print usage help "out of box".
Stars: ✭ 44 (+10%)
Mutual labels:  parsing
postcss-jsx
PostCSS syntax for parsing CSS in JS literals
Stars: ✭ 73 (+82.5%)
Mutual labels:  parsing
BibleUtilities
Set of utilities to scan, parse, and work with Bible references.
Stars: ✭ 20 (-50%)
Mutual labels:  parsing
DotGrok
Parse text with pattern. Inspired by grok filter.
Stars: ✭ 26 (-35%)
Mutual labels:  parsing
bllip-parser
BLLIP reranking parser (also known as Charniak-Johnson parser, Charniak parser, Brown reranking parser) See http://pypi.python.org/pypi/bllipparser/ for Python module.
Stars: ✭ 217 (+442.5%)
Mutual labels:  parsing
Funcparserlib
Recursive descent parsing library for Python based on functional combinators
Stars: ✭ 250 (+525%)
Mutual labels:  parsing
masci-tools
Tools, utility, parsers useful in daily material science work
Stars: ✭ 18 (-55%)
Mutual labels:  parsing
quick-csv-streamer
Quick CSV Parser with Java 8 Streams API
Stars: ✭ 29 (-27.5%)
Mutual labels:  parsing
BencodeNET
.NET library for encoding/decoding bencode and reading/writing torrent files
Stars: ✭ 133 (+232.5%)
Mutual labels:  parsing
ltreesitter
Standalone tree sitter bindings for the Lua language
Stars: ✭ 62 (+55%)
Mutual labels:  parsing

JagTag

JagTag is a simple - yet powerful and customizable - interpretted text parsing language! Some methods are included in the built-in libraries, and additional methods can be defined that utilize the parser environment veriables, as well as the method's input.

Simple Example

import com.jagrosh.jagtag.*;
public class Example
{
  public static void main(String[] args)
  {
    Parser parser = JagTag.newDefaultBuilder()
                .addMethod( new Method("exclaim", (env,in) -> in[0]+"!!!") )
                .build();
    String result = parser.parse("{exclaim:{if:this|=|that|then:Foo Bar|else:Hello World}}");
    System.out.println(result);
  }
}

Result: Hello World!!!

Maven

To use Maven with JagTag, simply add the following sections to your pom.xml

  <repository>
    <id>central</id>
    <name>bintray</name>
    <url>http://jcenter.bintray.com</url>
  </repository>
  <dependency>
    <groupId>com.jagrosh</groupId>
    <artifactId>JagTag</artifactId>
    <version>0.5</version>
  </dependency>

Current Projects

Here are some other projects that utilize JagTag:

Other Libraries

Below are JagTag-related libraries available for other languages or purposes:

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].