hara.common.grammar

+op-all+

+optional-categories+

build

added in 3.0

(build)(build & {:keys [lookup include exclude], :or {lookup +op-all+}})

selector for picking required ops in grammar

build-min

added in 4.0

(build-min & [arr])

minimum ops example for a language

build-xtalk

added in 4.0

(build-xtalk)

xtalk ops

(build-xtalk) => map?

build:extend

added in 4.0

(build:extend build m)

adds new ops in the map

build:override

added in 4.0

(build:override build m)

overrides existing ops in the map

collect-ops

added in 4.0

(collect-ops arr)

collects alll ops together

(collect-ops +op-all+) => map?

default-lookup

added in 4.1

(default-lookup lookup)

returns the default lookup with optional categories removed

gen-ops

added in 4.0

(gen-ops ns shortcut)

generates ops

(gen-ops ’hara.common.grammar-spec “spec”) => vector?

grammar

added in 3.0

(grammar tag reserved template)

constructs a grammar

grammar-macros

added in 3.0

(grammar-macros reserved)

process macros within the grammar

grammar-sections

added in 3.0

(grammar-sections reserved)

process sections witihin the grammar

grammar-structure

added in 3.0

(grammar-structure reserved)

returns all the :block and :fn forms

grammar?

added in 3.0

(grammar? obj)

checks that an object is instance of grammar

normalize-op-entry

added in 4.1

(normalize-op-entry entry)

normalizes grammar entry defaults shared across macro-style operators

ops-detail

added in 4.0

(ops-detail k)

get sthe detail of the ops

ops-list

added in 4.0

(ops-list)

lists all ops in the grammar

ops-summary

added in 4.0

(ops-summary & [ks])

gets the symbol and op name for a given category

ops-symbols

added in 4.0

(ops-symbols)

gets a list of symbols

to-reserved

added in 3.0

(to-reserved build)

convert op map to symbol map