Compare commits
No commits in common. "bed94f3d41ae94ad2af52b9f04716f90dbde9970" and "c3fbf3368f0223b0b0834824f13ab9417a9c6a40" have entirely different histories.
bed94f3d41
...
c3fbf3368f
12 changed files with 1342 additions and 1659 deletions
|
|
@ -33,7 +33,6 @@ module.exports = grammar({
|
||||||
|
|
||||||
star : $ => "*",
|
star : $ => "*",
|
||||||
square : $ => choice('□', '[]'),
|
square : $ => choice('□', '[]'),
|
||||||
sort : $ => choice($.star, $.square, seq($.square, /[0-9₀₁₂₃₄₅₆₇₈₉]+/)),
|
|
||||||
|
|
||||||
labs : $ => seq(
|
labs : $ => seq(
|
||||||
choice('λ', 'fun'),
|
choice('λ', 'fun'),
|
||||||
|
|
@ -53,7 +52,8 @@ module.exports = grammar({
|
||||||
|
|
||||||
term : $ => choice(
|
term : $ => choice(
|
||||||
$.identifier,
|
$.identifier,
|
||||||
$.sort,
|
$.star,
|
||||||
|
$.square,
|
||||||
seq('(', $.expr, ')'),
|
seq('(', $.expr, ')'),
|
||||||
),
|
),
|
||||||
|
|
||||||
|
|
|
||||||
32
src/grammar.json
generated
32
src/grammar.json
generated
|
|
@ -94,32 +94,6 @@
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"sort": {
|
|
||||||
"type": "CHOICE",
|
|
||||||
"members": [
|
|
||||||
{
|
|
||||||
"type": "SYMBOL",
|
|
||||||
"name": "star"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"type": "SYMBOL",
|
|
||||||
"name": "square"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"type": "SEQ",
|
|
||||||
"members": [
|
|
||||||
{
|
|
||||||
"type": "SYMBOL",
|
|
||||||
"name": "square"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"type": "PATTERN",
|
|
||||||
"value": "[0-9₀₁₂₃₄₅₆₇₈₉]+"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"labs": {
|
"labs": {
|
||||||
"type": "SEQ",
|
"type": "SEQ",
|
||||||
"members": [
|
"members": [
|
||||||
|
|
@ -228,7 +202,11 @@
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"type": "SYMBOL",
|
"type": "SYMBOL",
|
||||||
"name": "sort"
|
"name": "star"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "SYMBOL",
|
||||||
|
"name": "square"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"type": "SEQ",
|
"type": "SEQ",
|
||||||
|
|
|
||||||
25
src/node-types.json
generated
25
src/node-types.json
generated
|
|
@ -319,25 +319,6 @@
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
{
|
|
||||||
"type": "sort",
|
|
||||||
"named": true,
|
|
||||||
"fields": {},
|
|
||||||
"children": {
|
|
||||||
"multiple": false,
|
|
||||||
"required": true,
|
|
||||||
"types": [
|
|
||||||
{
|
|
||||||
"type": "square",
|
|
||||||
"named": true
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"type": "star",
|
|
||||||
"named": true
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
"type": "square",
|
"type": "square",
|
||||||
"named": true,
|
"named": true,
|
||||||
|
|
@ -360,7 +341,11 @@
|
||||||
"named": true
|
"named": true
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"type": "sort",
|
"type": "square",
|
||||||
|
"named": true
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "star",
|
||||||
"named": true
|
"named": true
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
|
|
|
||||||
2844
src/parser.c
generated
2844
src/parser.c
generated
File diff suppressed because it is too large
Load diff
|
|
@ -17,8 +17,7 @@ def foo (A B : *) (f : A -> B) (x : A) :=
|
||||||
(app_term
|
(app_term
|
||||||
(app
|
(app
|
||||||
(term
|
(term
|
||||||
(sort
|
(star))))))
|
||||||
(star)))))))
|
|
||||||
(param_block
|
(param_block
|
||||||
(identifier)
|
(identifier)
|
||||||
(expr
|
(expr
|
||||||
|
|
|
||||||
|
|
@ -16,8 +16,7 @@ def foo (A B : *) (f : A -> A -> B) (x : A) := f x x;
|
||||||
(app_term
|
(app_term
|
||||||
(app
|
(app
|
||||||
(term
|
(term
|
||||||
(sort
|
(star))))))
|
||||||
(star)))))))
|
|
||||||
(param_block
|
(param_block
|
||||||
(identifier)
|
(identifier)
|
||||||
(expr
|
(expr
|
||||||
|
|
|
||||||
|
|
@ -14,5 +14,4 @@ axiom nat : *;
|
||||||
(app_term
|
(app_term
|
||||||
(app
|
(app
|
||||||
(term
|
(term
|
||||||
(sort
|
(star))))))))
|
||||||
(star)))))))))
|
|
||||||
|
|
|
||||||
|
|
@ -21,8 +21,7 @@ def baz : * := A;
|
||||||
(app_term
|
(app_term
|
||||||
(app
|
(app
|
||||||
(term
|
(term
|
||||||
(sort
|
(star))))))
|
||||||
(star)))))))
|
|
||||||
(expr
|
(expr
|
||||||
(app_term
|
(app_term
|
||||||
(app
|
(app
|
||||||
|
|
|
||||||
|
|
@ -18,8 +18,7 @@ def foo := fun (A : *) (x : A) : A => x;
|
||||||
(app_term
|
(app_term
|
||||||
(app
|
(app
|
||||||
(term
|
(term
|
||||||
(sort
|
(star))))))
|
||||||
(star)))))))
|
|
||||||
(param_block
|
(param_block
|
||||||
(identifier)
|
(identifier)
|
||||||
(expr
|
(expr
|
||||||
|
|
|
||||||
|
|
@ -18,8 +18,7 @@ def rel := forall (A : *) (x : A), *;
|
||||||
(app_term
|
(app_term
|
||||||
(app
|
(app
|
||||||
(term
|
(term
|
||||||
(sort
|
(star))))))
|
||||||
(star)))))))
|
|
||||||
(param_block
|
(param_block
|
||||||
(identifier)
|
(identifier)
|
||||||
(expr
|
(expr
|
||||||
|
|
@ -31,5 +30,4 @@ def rel := forall (A : *) (x : A), *;
|
||||||
(app_term
|
(app_term
|
||||||
(app
|
(app
|
||||||
(term
|
(term
|
||||||
(sort
|
(star))))))))))
|
||||||
(star)))))))))))
|
|
||||||
|
|
|
||||||
|
|
@ -15,8 +15,7 @@ def foo (A : *) (x y z : A) := x;
|
||||||
(app_term
|
(app_term
|
||||||
(app
|
(app
|
||||||
(term
|
(term
|
||||||
(sort
|
(star))))))
|
||||||
(star)))))))
|
|
||||||
(param_block
|
(param_block
|
||||||
(identifier)
|
(identifier)
|
||||||
(identifier)
|
(identifier)
|
||||||
|
|
|
||||||
|
|
@ -1,72 +0,0 @@
|
||||||
=====
|
|
||||||
Sorts
|
|
||||||
=====
|
|
||||||
|
|
||||||
def foo (A : *) (B : □) (C : □₁) (D : []) (E : []1) (F : □1) (G : □₁₂₃) := A;
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
(program
|
|
||||||
(definition
|
|
||||||
(identifier)
|
|
||||||
(param_block
|
|
||||||
(identifier)
|
|
||||||
(expr
|
|
||||||
(app_term
|
|
||||||
(app
|
|
||||||
(term
|
|
||||||
(sort
|
|
||||||
(star)))))))
|
|
||||||
(param_block
|
|
||||||
(identifier)
|
|
||||||
(expr
|
|
||||||
(app_term
|
|
||||||
(app
|
|
||||||
(term
|
|
||||||
(sort
|
|
||||||
(square)))))))
|
|
||||||
(param_block
|
|
||||||
(identifier)
|
|
||||||
(expr
|
|
||||||
(app_term
|
|
||||||
(app
|
|
||||||
(term
|
|
||||||
(sort
|
|
||||||
(square)))))))
|
|
||||||
(param_block
|
|
||||||
(identifier)
|
|
||||||
(expr
|
|
||||||
(app_term
|
|
||||||
(app
|
|
||||||
(term
|
|
||||||
(sort
|
|
||||||
(square)))))))
|
|
||||||
(param_block
|
|
||||||
(identifier)
|
|
||||||
(expr
|
|
||||||
(app_term
|
|
||||||
(app
|
|
||||||
(term
|
|
||||||
(sort
|
|
||||||
(square)))))))
|
|
||||||
(param_block
|
|
||||||
(identifier)
|
|
||||||
(expr
|
|
||||||
(app_term
|
|
||||||
(app
|
|
||||||
(term
|
|
||||||
(sort
|
|
||||||
(square)))))))
|
|
||||||
(param_block
|
|
||||||
(identifier)
|
|
||||||
(expr
|
|
||||||
(app_term
|
|
||||||
(app
|
|
||||||
(term
|
|
||||||
(sort
|
|
||||||
(square)))))))
|
|
||||||
(expr
|
|
||||||
(app_term
|
|
||||||
(app
|
|
||||||
(term
|
|
||||||
(identifier)))))))
|
|
||||||
Loading…
Reference in a new issue