Grammar

Statements

Statements

Line newline Line

Line

Statement semicolon Statement semicolon comment

Statement

System if_ E then Statements OptElse while_ E do_ Statements end for_ E do_ Statements end import_ filename define Function verb DefVerb IO KSQL E

OptElse

else_ Statements end

Function

ident bracketopen ident RestofArgs Statements end

RestofArgs

comma ident RestofArgs bracketclose

DefVerb

ident fcn monad dyad

E

Term RestofE

RestofE

Verb Term RestofE Badverb Term RestofE null

Term

Una ValueTerm Adverb Una paropen E parclose Adverb IO Adverb

Adverb

adverb each Lambda ident Verb Adverb null

Una

Verb Una null

IO

ident rline ident wline E ident rchar ident wchar E ident rdata ident wdata E number port ident set E E httpg E compressiontypes

ValueTerm

kConstant Constructor SList Lambda fcn ident at dot dollar questionmark Lambda bracketopen Args

Args

E comma E bracketclose

Lambda

curlyopen bracketopen ident RestofArgs Statement semicolon Statement curlyclose

Constructor

bracketopen ListItem comma ListItem bracketclose curlyopen AssignmentItem comma AssignmentItem curlyclose curlyopen bracketopen ident comma ident bracketclose AssignmentItem comma AssignmentItem curlyclose

ListItem

kConstantNoIdent Constructor ident "." SList

SList

SListItem SListItem

SListItem

kConstantNoIdent ident "."

AssignmentItem

ident colon E

KSQL

Select Update Delete Insert Upsert

Select

select Fileds From Where By

Update

update E From Where By

Delete

delete_ From Where By

Insert

insert E into E

Upsert

upsert E into E

From

from EList

Where

where EList

By

by EList

EList

E comma E

Verb

backslash plus minus star percent exclamationmark ampersand vertical less greater equal tilde accent hash lowline dollar questionmark at print pprint assignment concat

kConstant

char symbol Number ident

kConstantNoIdent

char symbol Number

Number

Datetime Date Time Real Integer

DateTime

Date bigt Time dot number

Date

year dot month dot day

Time

hour colon minute colon second dot number

Real

number dot number nilR infR

Integer

number nilI infI