Skip to content

Commit c34f8aa

Browse files
committed
elpi 3.0
1 parent 558f596 commit c34f8aa

File tree

4 files changed

+41
-49
lines changed

4 files changed

+41
-49
lines changed

CHANGELOG.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,9 @@
11
# Change Log
22

3+
### 0.2.11
4+
5+
- Syntax for Elpi 3.0
6+
37
### 0.2.10
48

59
- Fix tracer default options for elpi 2.x

elpiLexicalConventions.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -79,7 +79,7 @@ module.exports = {
7979
"wbl" : function() { return neg_lookbehind(or_set(idchar,it("[.]")))(); },
8080

8181
"6" : "very loose definition of a type expressiong",
82-
"typechars" : function() { return plus(or(it("[^,\\\\.%]"),nsid))(); },
82+
"typechars" : function() { return plus(or(it("[^,\\\\. %]")),nsid)(); },
8383

8484
"99" : "eof"
8585
}

syntaxes/elpi.tmLanguage.json

Lines changed: 19 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -179,7 +179,7 @@
179179
},
180180
"pred-declaration": {
181181
"name": "pred.declaration",
182-
"begin": "((external)?\\s*(pred|func))\\s+((([a-z](([a-zA-Z0-9+*/^<>`'?@#~=&!\\-$_]|(\\.([a-z]|[A-Z]))))*)|([+*/^<>`'?@#~=&!](([a-z]|[A-Z]|[0-9]|[+*/^<>`'?@#~=&!\\-$_]|:))*)|(-([a-zA-Z0-9+*/^<>`'?@#~=&!\\-$_]([a-zA-Z0-9+*/^<>`'?@#~=&!\\-$_])*)))|(\\((( |\\t))*(([a-z](([a-zA-Z0-9+*/^<>`'?@#~=&!\\-$_]|(\\.([a-z]|[A-Z]))))*)|([+*/^<>`'?@#~=&!](([a-z]|[A-Z]|[0-9]|[+*/^<>`'?@#~=&!\\-$_]|:))*)|(-([a-zA-Z0-9+*/^<>`'?@#~=&!\\-$_]([a-zA-Z0-9+*/^<>`'?@#~=&!\\-$_])*)))(( |\\t))*\\)))",
182+
"begin": "((external)?\\s*(pred|func|symbol))\\s+((([a-z](([a-zA-Z0-9+*/^<>`'?@#~=&!\\-$_]|(\\.([a-z]|[A-Z]))))*)|([+*/^<>`'?@#~=&!](([a-z]|[A-Z]|[0-9]|[+*/^<>`'?@#~=&!\\-$_]|:))*)|(-([a-zA-Z0-9+*/^<>`'?@#~=&!\\-$_]([a-zA-Z0-9+*/^<>`'?@#~=&!\\-$_])*)))|(\\((( |\\t))*(([a-z](([a-zA-Z0-9+*/^<>`'?@#~=&!\\-$_]|(\\.([a-z]|[A-Z]))))*)|([+*/^<>`'?@#~=&!](([a-z]|[A-Z]|[0-9]|[+*/^<>`'?@#~=&!\\-$_]|:))*)|(-([a-zA-Z0-9+*/^<>`'?@#~=&!\\-$_]([a-zA-Z0-9+*/^<>`'?@#~=&!\\-$_])*)))(( |\\t))*\\)))\\s*:?",
183183
"end": "(?<=\\.\\s)",
184184
"beginCaptures": {
185185
"1": {
@@ -195,32 +195,26 @@
195195
"name": "entity.name.function"
196196
}
197197
},
198+
"endCaptures": {
199+
"1": {
200+
"name": "keyword.control.elpi"
201+
}
202+
},
198203
"patterns": [
199204
{
200-
"begin": "(?<![a-zA-Z0-9+*/^<>`'?@#~=&!\\-$_.])(i:|o:)",
201-
"end": "(,|\\.\\s)",
202-
"beginCaptures": {
203-
"1": {
204-
"name": "entity.name.tag"
205-
}
206-
},
207-
"endCaptures": {
208-
"1": {
209-
"name": "keyword.control.elpi"
210-
}
211-
},
212-
"patterns": [
213-
{
214-
"include": "#comments"
215-
},
216-
{
217-
"match": "(([^,\\.%]|(\\.([a-z]|[A-Z])))(([^,\\.%]|(\\.([a-z]|[A-Z]))))*)",
218-
"name": "entity.name.type"
219-
}
220-
]
205+
"include": "#comments"
221206
},
222207
{
223-
"include": "#comments"
208+
"match": "(->|func|pred|,|\\(|\\))",
209+
"name": "keyword.control.elpi"
210+
},
211+
{
212+
"match": "(i:|o:)",
213+
"name": "entity.name.tag"
214+
},
215+
{
216+
"match": "(([^,\\. %])(([^,\\. %]))*)",
217+
"name": "entity.name.type"
224218
}
225219
]
226220
},
@@ -301,7 +295,7 @@
301295
},
302296
"patterns": [
303297
{
304-
"match": "(([^,\\.%]|(\\.([a-z]|[A-Z])))(([^,\\.%]|(\\.([a-z]|[A-Z]))))*)",
298+
"match": "(([^,\\. %])(([^,\\. %]))*)",
305299
"name": "entity.name.type"
306300
},
307301
{
@@ -327,7 +321,7 @@
327321
},
328322
"patterns": [
329323
{
330-
"match": "(([^,\\.%]|(\\.([a-z]|[A-Z])))(([^,\\.%]|(\\.([a-z]|[A-Z]))))*)",
324+
"match": "(([^,\\. %])(([^,\\. %]))*)",
331325
"name": "entity.name.type"
332326
},
333327
{

syntaxes/elpi.tmLanguage.mustache

Lines changed: 17 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -179,7 +179,7 @@
179179
},
180180
"pred-declaration": {
181181
"name": "pred.declaration",
182-
"begin": "((external)?\\s*(pred|func))\\s+({{{ident}}}|{{{infix}}})",
182+
"begin": "((external)?\\s*(pred|func|symbol))\\s+({{{ident}}}|{{{infix}}})\\s*:?",
183183
"end": "(?<=\\.\\s)",
184184
"beginCaptures": {
185185
"1": {
@@ -195,32 +195,26 @@
195195
"name": "entity.name.function"
196196
}
197197
},
198+
"endCaptures": {
199+
"1": {
200+
"name": "keyword.control.elpi"
201+
}
202+
},
198203
"patterns": [
199204
{
200-
"begin": "{{{wbl}}}(i:|o:)",
201-
"end": "(,|\\.\\s)",
202-
"beginCaptures": {
203-
"1": {
204-
"name": "entity.name.tag"
205-
}
206-
},
207-
"endCaptures": {
208-
"1": {
209-
"name": "keyword.control.elpi"
210-
}
211-
},
212-
"patterns": [
213-
{
214-
"include": "#comments"
215-
},
216-
{
217-
"match": "{{{typechars}}}",
218-
"name": "entity.name.type"
219-
}
220-
]
205+
"include": "#comments"
221206
},
222207
{
223-
"include": "#comments"
208+
"match": "(->|func|pred|,|\\(|\\))",
209+
"name": "keyword.control.elpi"
210+
},
211+
{
212+
"match": "(i:|o:)",
213+
"name": "entity.name.tag"
214+
},
215+
{
216+
"match": "{{{typechars}}}",
217+
"name": "entity.name.type"
224218
}
225219
]
226220
},

0 commit comments

Comments
 (0)