GithubHelp home page GithubHelp logo

blab's Introduction

Blab is a tool for producing data according to slightly extended context
free grammars. You can think of it as a reverse grep, but with a more
descriptive language.

$ blab -e '97 10'
a
$ blab -e '(97 | 98)* 10'
baaaabbbbaaabababaaaababaaabbbababaaaabbbbbabbbbaabbbaaababbbbbb
$ blab -e '("foo" | "bar")* 10'
barfoofoo
$ blab -e '"(" "-"* ")" 10' -n 10
(-------------------------)
()
(-)
(-)
()
()
()
(-----------------------------)
(-------------------------)
(---)
$ blab -e 'output = S 10
           S = "foo" | "bar" | "(" S ")" | S " " S'
((bar bar foo))
$ blab -e 'output = S 10
           S = [1-9][0-9]* | "NaN" | "(" S ")" | S op S
           op = " " [+-*/] " "'
(((6) / 9) + 449428288325205608353298550945916151749155730959558272 * NaN)
$ blab -e '\("Beetlejuice"\)(", " \1){2} "!\n"'
Beetlejuice, Beetlejuice, Beetlejuice!
$ blab -e 'battle = hero " vs " hero " at " place "\n"
           hero = type person
           type = adjective | power | material | animal
           person = "wo"? "man" | "girl" | "boy" | "dog"
           animal = "bat" | "cat" | "spider"
           adjective = "super" | "duper" | "ultra" | "über"
           power = "laser" | "fire" | "electro" | "shrink" | "radar"
           material = "iron" | "steel" | "titanium"
           place = (verb | noun) noun "s"?
           verb = "shrink" | "topple" | "ditch" | "find" | "grow"
           noun = "wood" | "lake" | "mountain"'
überboy vs radarman at shrinkwoods

blab's People

Contributors

aoh avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.