Below, the grammar is explained from the top-level down to the lowest level. The top-level grammar item is a transmission. Each time you click on the Submit button, JCB expects to see one legal JCB transmission.
A note on the notation: { thing }... means that the specified thing may occur one or more times. [ thing ] means that the thing may or may not appear.
Note that in the descriptions below, the following words are still in development, and are either not yet present, or not yet present in all
situations: a, also, an, century, decade, eight, eighteen,
eighty, eleven, fifteen, fifty, five, forty, four,
fourteen, half, millenium, nine, nineteen, ninety, one,
seven, seventeen, seventy, six, sixteen, sixty, ten,
the, thirteen, thirty, three, twelve, twenty, two, and
who.
execute. As you might imagine, execute executes what has been said up to that point, as if in a separate transmission. You'll get
all the output in a batch.
Format: { utterance execute }... utterance
Format 1: command
Format 2: predication
Format 3: question
Format 1: is predication true
Format 2: is predication false
* and the /, although in most cases it's not needed. When using a word as a predication,
you must decide on your own what the arguments mean. For instance, will go x y z mean that X goes to Y over route Z? In the future, we'll be
publishing a list of such predications in the form of a dictionary. For now, you'll just have to be consistant in your usage. Predications can also be
preceeded with one or more tenses, as shown in format 3. Note that JCB-English tenses include what English includes as tenses, plus what a number of other
languages include as tenses. Note, too, that this recursive definition means that any number of tenses can appear before a predication. Format 4 shows the
question form of the same thing. By replacing the predication-word with blank, we are asking which word would make the predication true. An
adjective may be applied to a predication as shown in format 5. Formats 6 through 13 show various logical constructions. Note that both and
jointly have subtle differences. The predication take i an adjectcive both red and blue affects ball means that I take a red ball
and a blue ball. The predication take i an adjective jointly red and blue affects ball means that I take a ball which is jointly red-and-blue.
A swirl, perhaps. Formats 14 through 18 involve slightly more complicated logical constructions.
Format 1: true-or-false
Format 2: *word { argument }... /
Format 3: tense predication
Format 4: blank predication
Format 5: adjective predication affects predication
Format 6: both predication and predication
Format 7: either predication or predication
Format 8: neither predication nor predication
Format 9: the statement predication is implied by predication
Format 10: if [ and only if ] predication then predication
Format 11: exclusively predication or predication
Format 12: it is not the case that predication is true
Format 13: jointly predication and predication
Format 14: for all { variable }... predication
Format 15: there exists { variable }... such that predication
Format 16: there exists [ at least ] number variable such that predication
Format 17: there exists at most number variable such that predication
Format 18: there does not exist variable such that predication
go i the library. In format 1, double quotes are used to signify a name. For instance, Bob Smith would
translate as "bob smith". Inside quotes, spacing and capitalization are irrelevant, so " Bob Smith " would not
be a different name. Of a similar nature is format 2, in which we specify literal text as an argument. For instance, 'bob smith' represents
the literal text "bob smith", which is different from a string in which we change capitalization or spacing. Simple pronouns appear as formats 3 through 5.
You can use a variable as a pronoun, as shown in format 6. You can make a question using an argument, by using a question-word, as shown in formats 7
through 9. Formats 10 & 11 show possessive pronouns. As in predications, logical constructions can be made on arguments. This is shown in formats 12
through 17. An argument may be quantified, as if format 18, or specified as a class, as in format 19. The usage here is important. "Fifty dogs" would
translate as 50 dog. That's simple. But, "all dogs" would translate as all of the class dog. Be careful here, as all of
dog translates back as "one entire dog", rather than "all dogs". In formats 20 & 21, predications can be used as events and properties. In
format 22, numbers can be used as arguments. In format 23, a predication can be, in effect, and adjectival phrase. Arguments can be skipped (explicitly)
by specifying anything for an argument, as in format 24. When a predication is used to modify another, and the adjectival predication uses
more than one argument, it is assumed that the first argument slot carries the emphasis. For instance, one way to say that someone as an interest in going
would be to say that he is interested in a "go" or "leave" sort of way. Since "go" naturally takes arguments of From, To, and Path, we could use
adjective go modifies interest. But, what if someone is interested in coming? For this, we need to put the emphasis on the second argument of
"go". We do this by specifying an argument list, and using the word emphasis, so the interest in coming could be adjective go anything
emphasis modifies interest. This is shown in format 25.
Format 1: " name "
Format 2: ' text '
Format 3: me
Format 4: i
Format 5: you
Format 6: variable
Format 7: what
Format 8: which
Format 9: who
Format 10: my argument
Format 11: your argument
Format 12: both argument and argument
Format 13: either argument or argument
Format 14: neither predication nor predication
Format 15: the item argument is implied by argument
Format 16: if [ and only if ] argument then argument
Format 17: exclusively argument or argument
Format 18: quantifier predication
Format 19: [ quantifier ] the class predication
Format 20: the event predication
Format 21: the property predication
Format 22: the number number
Format 23: the item argument with property predication
Format 24: anything
Format 24: emphasis
Format 1: all [ of ]
Format 2: most [ of ]
Format 3: some [ of ]
Format 4: little [ of ]
Format 5: number [ of ]
1, 2.5, or 0.6. They can also be single-word numbers, such as
fifty or half. a, an, and the all mean 1. Calculated numbers can also be
used.
Format 1: number
Format 2: half
Format 3: one
⋮
Format 21: nineteen
Format 22: twenty
⋮
Format 29: ninety
Format 30: a[n]
Format 31: the
Format 32: the sum of number and number
Format 33: the difference between number and number
Format 34: the product of number and number
Format 35: the quotient of number and number
for all x love bob x in JCB-English. In both cases, X is a
variable. Variables may be subscripted.
Format: letter [ sub number ]
potentially, too. A predication can also be
inflected for certainty, as shown in formats 9 through 14. Formats 15 through 19 show distance tensing. You can substitute a question word for a tense, as
shown in formats 20 through 22, and make the predication a query.
Format 1: at time-reference
Format 2: after time
Format 3: on [ or after ] time
Format 4: beginning [ after ] time
Format 5: [ on or ] before time
Format 6: ending [ before ] time
Format 7: during time
Format 8: potentially
Format 9: certainly
Format 10: on good authority
Format 11: likely
Format 12: as a belief
Format 13: as a guess
Format 14: according to argument
Format 15: located at [ a distance of [ up to ] number meter[s]
from ] argument
Format 16: located at a distance of at least number meter[s] from argument
Format 17: located at a range of number meter[s] to number
meter[s] from argument
Format 18: near argument
Format 19: far from argument
Format 20: when
Format 21: where
Format 22: tense
Format 1: time-spec
Format 2: time through time
Format 1: [ offset { number time-type }... from ] simple-time
Format 2: offset { number time-type }... before simple-time
Format 1: second[s]
Format 2: minute[s]
Format 3: hour[s]
Format 4: day[s]
Format 5: week[s]
Format 6: month[s]
Format 7: year[s]
Format 8: decade[s]
Format 9: century
Format 10: centuries
Format 11: millenium
Format 12: millenia
Format 1: date [ time ]
Format 2: time
Format 3: now
Format 4: today
Format 5: tomorrow
Format 6: yesterday
Format 7: this time-type
Format 8: last time-type
Format 9: next time-type
Format 1: year-month-day [ bce ]
Format 2: january
⋮
Format 13: december
Format 14: sunday
⋮
Format 20: saturday
noon or midnight.
Format 1: hour:minute[:second] [ am ]
Format 2: hour:minute[:second] pm
Format 3: noon
Format 4: midnight