mirror of
https://github.com/KevinMidboe/linguist.git
synced 2025-10-29 09:40:21 +00:00
E language with samples
This commit is contained in:
@@ -476,6 +476,11 @@ Dylan:
|
||||
color: "#3ebc27"
|
||||
primary_extension: .dylan
|
||||
|
||||
E:
|
||||
type: programming
|
||||
color: "#ccce35"
|
||||
primary_extension: .E
|
||||
|
||||
Ecere Projects:
|
||||
type: data
|
||||
group: JavaScript
|
||||
|
||||
@@ -52,6 +52,9 @@
|
||||
"Ceylon": [
|
||||
".ceylon"
|
||||
],
|
||||
"Cirru": [
|
||||
".cirru"
|
||||
],
|
||||
"Clojure": [
|
||||
".cl2",
|
||||
".clj",
|
||||
@@ -95,6 +98,9 @@
|
||||
"DM": [
|
||||
".dm"
|
||||
],
|
||||
"E": [
|
||||
".E"
|
||||
],
|
||||
"ECL": [
|
||||
".ecl"
|
||||
],
|
||||
@@ -535,8 +541,8 @@
|
||||
".gemrc"
|
||||
]
|
||||
},
|
||||
"tokens_total": 445429,
|
||||
"languages_total": 523,
|
||||
"tokens_total": 446274,
|
||||
"languages_total": 538,
|
||||
"tokens": {
|
||||
"ABAP": {
|
||||
"*/**": 1,
|
||||
@@ -12715,6 +12721,43 @@
|
||||
"<=>": 1,
|
||||
"other.name": 1
|
||||
},
|
||||
"Cirru": {
|
||||
"print": 38,
|
||||
"array": 14,
|
||||
"int": 36,
|
||||
"string": 7,
|
||||
"set": 12,
|
||||
"f": 3,
|
||||
"block": 1,
|
||||
"(": 20,
|
||||
"a": 22,
|
||||
"b": 7,
|
||||
"c": 9,
|
||||
")": 20,
|
||||
"call": 1,
|
||||
"bool": 6,
|
||||
"true": 1,
|
||||
"false": 1,
|
||||
"yes": 1,
|
||||
"no": 1,
|
||||
"map": 8,
|
||||
"m": 3,
|
||||
"float": 1,
|
||||
"require": 1,
|
||||
"./stdio.cr": 1,
|
||||
"self": 2,
|
||||
"child": 1,
|
||||
"under": 2,
|
||||
"parent": 1,
|
||||
"get": 4,
|
||||
"x": 2,
|
||||
"just": 4,
|
||||
"-": 4,
|
||||
"code": 4,
|
||||
"eval": 2,
|
||||
"nothing": 1,
|
||||
"container": 3
|
||||
},
|
||||
"Clojure": {
|
||||
"(": 83,
|
||||
"defn": 4,
|
||||
@@ -16024,6 +16067,160 @@
|
||||
"#undef": 1,
|
||||
"Undefine": 1
|
||||
},
|
||||
"E": {
|
||||
"def": 24,
|
||||
"makeVehicle": 3,
|
||||
"(": 65,
|
||||
"self": 1,
|
||||
")": 64,
|
||||
"{": 57,
|
||||
"vehicle": 2,
|
||||
"to": 27,
|
||||
"milesTillEmpty": 1,
|
||||
"return": 19,
|
||||
"self.milesPerGallon": 1,
|
||||
"*": 1,
|
||||
"self.getFuelRemaining": 1,
|
||||
"}": 57,
|
||||
"makeCar": 4,
|
||||
"var": 6,
|
||||
"fuelRemaining": 4,
|
||||
"car": 8,
|
||||
"extends": 2,
|
||||
"milesPerGallon": 2,
|
||||
"getFuelRemaining": 2,
|
||||
"makeJet": 1,
|
||||
"jet": 3,
|
||||
"println": 2,
|
||||
"The": 2,
|
||||
"can": 1,
|
||||
"go": 1,
|
||||
"car.milesTillEmpty": 1,
|
||||
"miles.": 1,
|
||||
"name": 4,
|
||||
"x": 3,
|
||||
"y": 3,
|
||||
"moveTo": 1,
|
||||
"newX": 2,
|
||||
"newY": 2,
|
||||
"getX": 1,
|
||||
"getY": 1,
|
||||
"setName": 1,
|
||||
"newName": 2,
|
||||
"getName": 1,
|
||||
"sportsCar": 1,
|
||||
"sportsCar.moveTo": 1,
|
||||
"sportsCar.getName": 1,
|
||||
"is": 1,
|
||||
"at": 1,
|
||||
"X": 1,
|
||||
"location": 1,
|
||||
"sportsCar.getX": 1,
|
||||
"makeVOCPair": 1,
|
||||
"brandName": 3,
|
||||
"String": 1,
|
||||
"near": 6,
|
||||
"myTempContents": 6,
|
||||
"none": 2,
|
||||
"brand": 5,
|
||||
"__printOn": 4,
|
||||
"out": 4,
|
||||
"TextWriter": 4,
|
||||
"void": 5,
|
||||
"out.print": 4,
|
||||
"ProveAuth": 2,
|
||||
"<$brandName>": 3,
|
||||
"prover": 1,
|
||||
"getBrand": 4,
|
||||
"coerce": 2,
|
||||
"specimen": 2,
|
||||
"optEjector": 3,
|
||||
"sealedBox": 2,
|
||||
"offerContent": 1,
|
||||
"CheckAuth": 2,
|
||||
"checker": 3,
|
||||
"template": 1,
|
||||
"match": 4,
|
||||
"[": 10,
|
||||
"get": 2,
|
||||
"authList": 2,
|
||||
"any": 2,
|
||||
"]": 10,
|
||||
"specimenBox": 2,
|
||||
"null": 1,
|
||||
"if": 2,
|
||||
"specimenBox.__respondsTo": 1,
|
||||
"specimenBox.offerContent": 1,
|
||||
"else": 1,
|
||||
"for": 3,
|
||||
"auth": 3,
|
||||
"in": 1,
|
||||
"throw.eject": 1,
|
||||
"Unmatched": 1,
|
||||
"authorization": 1,
|
||||
"__respondsTo": 2,
|
||||
"_": 3,
|
||||
"true": 1,
|
||||
"false": 1,
|
||||
"__getAllegedType": 1,
|
||||
"null.__getAllegedType": 1,
|
||||
"#File": 1,
|
||||
"objects": 1,
|
||||
"hardwired": 1,
|
||||
"files": 1,
|
||||
"file1": 1,
|
||||
"<file:myFile.txt>": 1,
|
||||
"file2": 1,
|
||||
"<file:/home/marcs/myFile.txt>": 1,
|
||||
"#Using": 2,
|
||||
"a": 4,
|
||||
"variable": 1,
|
||||
"file": 3,
|
||||
"filePath": 2,
|
||||
"file3": 1,
|
||||
"<file>": 1,
|
||||
"single": 1,
|
||||
"character": 1,
|
||||
"specify": 1,
|
||||
"Windows": 1,
|
||||
"drive": 1,
|
||||
"file4": 1,
|
||||
"<file:c:/docs/myFile.txt>": 1,
|
||||
"file5": 1,
|
||||
"<c:/docs/myFile.txt>": 1,
|
||||
"file6": 1,
|
||||
"<c:\\docs\\myFile.txt>": 1,
|
||||
"pragma.syntax": 1,
|
||||
"send": 1,
|
||||
"message": 4,
|
||||
"when": 2,
|
||||
"friend": 4,
|
||||
"<-receive(message))>": 1,
|
||||
"chatUI.showMessage": 4,
|
||||
"catch": 2,
|
||||
"prob": 2,
|
||||
"receive": 1,
|
||||
"receiveFriend": 2,
|
||||
"friendRcvr": 2,
|
||||
"bind": 2,
|
||||
"save": 1,
|
||||
"file.setText": 1,
|
||||
"makeURIFromObject": 1,
|
||||
"chatController": 2,
|
||||
"load": 1,
|
||||
"getObjectFromURI": 1,
|
||||
"file.getText": 1,
|
||||
"<": 1,
|
||||
"-": 2,
|
||||
"tempVow": 2,
|
||||
"#...use": 1,
|
||||
"#....": 1,
|
||||
"report": 1,
|
||||
"problem": 1,
|
||||
"finally": 1,
|
||||
"#....log": 1,
|
||||
"event": 1
|
||||
},
|
||||
"ECL": {
|
||||
"#option": 1,
|
||||
"(": 32,
|
||||
@@ -47799,6 +47996,7 @@
|
||||
"C#": 278,
|
||||
"C++": 31181,
|
||||
"Ceylon": 50,
|
||||
"Cirru": 244,
|
||||
"Clojure": 510,
|
||||
"COBOL": 90,
|
||||
"CoffeeScript": 2951,
|
||||
@@ -47810,6 +48008,7 @@
|
||||
"Dart": 74,
|
||||
"Diff": 16,
|
||||
"DM": 169,
|
||||
"E": 601,
|
||||
"ECL": 281,
|
||||
"edn": 227,
|
||||
"Elm": 628,
|
||||
@@ -47941,6 +48140,7 @@
|
||||
"C#": 2,
|
||||
"C++": 27,
|
||||
"Ceylon": 1,
|
||||
"Cirru": 9,
|
||||
"Clojure": 7,
|
||||
"COBOL": 4,
|
||||
"CoffeeScript": 9,
|
||||
@@ -47952,6 +48152,7 @@
|
||||
"Dart": 1,
|
||||
"Diff": 1,
|
||||
"DM": 1,
|
||||
"E": 6,
|
||||
"ECL": 1,
|
||||
"edn": 1,
|
||||
"Elm": 3,
|
||||
@@ -48066,5 +48267,5 @@
|
||||
"Xtend": 2,
|
||||
"YAML": 1
|
||||
},
|
||||
"md5": "a46f14929a6e9e4356fda95beb035439"
|
||||
"md5": "09d83474428d52300e1b368b738c226c"
|
||||
}
|
||||
31
samples/E/Extends.E
Normal file
31
samples/E/Extends.E
Normal file
@@ -0,0 +1,31 @@
|
||||
# from
|
||||
# http://wiki.erights.org/wiki/Walnut/Ordinary_Programming/Objects_and_Functions
|
||||
def makeVehicle(self) {
|
||||
def vehicle {
|
||||
to milesTillEmpty() {
|
||||
return self.milesPerGallon() * self.getFuelRemaining()
|
||||
}
|
||||
}
|
||||
return vehicle
|
||||
}
|
||||
|
||||
def makeCar() {
|
||||
var fuelRemaining := 20
|
||||
def car extends makeVehicle(car) {
|
||||
to milesPerGallon() {return 19}
|
||||
to getFuelRemaining() {return fuelRemaining}
|
||||
}
|
||||
return car
|
||||
}
|
||||
|
||||
def makeJet() {
|
||||
var fuelRemaining := 2000
|
||||
def jet extends makeVehicle(jet) {
|
||||
to milesPerGallon() {return 2}
|
||||
to getFuelRemaining() {return fuelRemaining}
|
||||
}
|
||||
return jet
|
||||
}
|
||||
|
||||
def car := makeCar()
|
||||
println(`The car can go ${car.milesTillEmpty()} miles.`)
|
||||
21
samples/E/Functions.E
Normal file
21
samples/E/Functions.E
Normal file
@@ -0,0 +1,21 @@
|
||||
# from
|
||||
# http://wiki.erights.org/wiki/Walnut/Ordinary_Programming/Objects_and_Functions
|
||||
def makeCar(var name) {
|
||||
var x := 0
|
||||
var y := 0
|
||||
def car {
|
||||
to moveTo(newX,newY) {
|
||||
x := newX
|
||||
y := newY
|
||||
}
|
||||
to getX() {return x}
|
||||
to getY() {return y}
|
||||
to setName(newName) {name := newName}
|
||||
to getName() {return name}
|
||||
}
|
||||
return car
|
||||
}
|
||||
# Now use the makeCar function to make a car, which we will move and print
|
||||
def sportsCar := makeCar("Ferrari")
|
||||
sportsCar.moveTo(10,20)
|
||||
println(`The car ${sportsCar.getName()} is at X location ${sportsCar.getX()}`)
|
||||
69
samples/E/Guards.E
Normal file
69
samples/E/Guards.E
Normal file
@@ -0,0 +1,69 @@
|
||||
# from
|
||||
# http://wiki.erights.org/wiki/Walnut/Advanced_Topics/Build_your_Own_Guards
|
||||
def makeVOCPair(brandName :String) :near {
|
||||
|
||||
var myTempContents := def none {}
|
||||
|
||||
def brand {
|
||||
to __printOn(out :TextWriter) :void {
|
||||
out.print(brandName)
|
||||
}
|
||||
}
|
||||
|
||||
def ProveAuth {
|
||||
to __printOn(out :TextWriter) :void {
|
||||
out.print(`<$brandName prover>`)
|
||||
}
|
||||
to getBrand() :near { return brand }
|
||||
to coerce(specimen, optEjector) :near {
|
||||
def sealedBox {
|
||||
to getBrand() :near { return brand }
|
||||
to offerContent() :void {
|
||||
myTempContents := specimen
|
||||
}
|
||||
}
|
||||
return sealedBox
|
||||
}
|
||||
}
|
||||
def CheckAuth {
|
||||
to __printOn(out :TextWriter) :void {
|
||||
out.print(`<$brandName checker template>`)
|
||||
}
|
||||
to getBrand() :near { return brand }
|
||||
match [`get`, authList :any[]] {
|
||||
def checker {
|
||||
to __printOn(out :TextWriter) :void {
|
||||
out.print(`<$brandName checker>`)
|
||||
}
|
||||
to getBrand() :near { return brand }
|
||||
to coerce(specimenBox, optEjector) :any {
|
||||
myTempContents := null
|
||||
if (specimenBox.__respondsTo("offerContent", 0)) {
|
||||
# XXX Using __respondsTo/2 here is a kludge
|
||||
specimenBox.offerContent()
|
||||
} else {
|
||||
myTempContents := specimenBox
|
||||
}
|
||||
for auth in authList {
|
||||
if (auth == myTempContents) {
|
||||
return auth
|
||||
}
|
||||
}
|
||||
myTempContents := none
|
||||
throw.eject(optEjector,
|
||||
`Unmatched $brandName authorization`)
|
||||
}
|
||||
}
|
||||
}
|
||||
match [`__respondsTo`, [`get`, _]] {
|
||||
true
|
||||
}
|
||||
match [`__respondsTo`, [_, _]] {
|
||||
false
|
||||
}
|
||||
match [`__getAllegedType`, []] {
|
||||
null.__getAllegedType()
|
||||
}
|
||||
}
|
||||
return [ProveAuth, CheckAuth]
|
||||
}
|
||||
14
samples/E/IO.E
Normal file
14
samples/E/IO.E
Normal file
@@ -0,0 +1,14 @@
|
||||
# E sample from
|
||||
# http://wiki.erights.org/wiki/Walnut/Ordinary_Programming/InputOutput
|
||||
#File objects for hardwired files:
|
||||
def file1 := <file:myFile.txt>
|
||||
def file2 := <file:/home/marcs/myFile.txt>
|
||||
|
||||
#Using a variable for a file name:
|
||||
def filePath := "c:\\docs\\myFile.txt"
|
||||
def file3 := <file>[filePath]
|
||||
|
||||
#Using a single character to specify a Windows drive
|
||||
def file4 := <file:c:/docs/myFile.txt>
|
||||
def file5 := <c:/docs/myFile.txt>
|
||||
def file6 := <c:\docs\myFile.txt>
|
||||
9
samples/E/Promises.E
Normal file
9
samples/E/Promises.E
Normal file
@@ -0,0 +1,9 @@
|
||||
# E snippet from
|
||||
# http://wiki.erights.org/wiki/Walnut/Distributed_Computing/Promises
|
||||
when (tempVow) -> {
|
||||
#...use tempVow
|
||||
} catch prob {
|
||||
#.... report problem
|
||||
} finally {
|
||||
#....log event
|
||||
}
|
||||
18
samples/E/minChat.E
Normal file
18
samples/E/minChat.E
Normal file
@@ -0,0 +1,18 @@
|
||||
# from
|
||||
# http://wiki.erights.org/wiki/Walnut/Secure_Distributed_Computing/Auditing_minChat
|
||||
pragma.syntax("0.9")
|
||||
to send(message) {
|
||||
when (friend<-receive(message)) -> {
|
||||
chatUI.showMessage("self", message)
|
||||
} catch prob {chatUI.showMessage("system", "connection lost")}
|
||||
}
|
||||
to receive(message) {chatUI.showMessage("friend", message)}
|
||||
to receiveFriend(friendRcvr) {
|
||||
bind friend := friendRcvr
|
||||
chatUI.showMessage("system", "friend has arrived")
|
||||
}
|
||||
to save(file) {file.setText(makeURIFromObject(chatController))}
|
||||
to load(file) {
|
||||
bind friend := getObjectFromURI(file.getText())
|
||||
friend <- receiveFriend(chatController)
|
||||
}
|
||||
Reference in New Issue
Block a user