crude but effective stratification

This commit is contained in:
rhiannon morris 2023-05-21 20:09:34 +02:00
parent e4a20cc632
commit 42aa07c9c8
31 changed files with 817 additions and 582 deletions

View file

@ -74,10 +74,9 @@ tests = "lexer" :- [
lexes "uhh??!?!?!?" [Name "uhh??!?!?!?"],
todo "check for reserved words in a qname",
{-
skip $
lexes "abc.fun.def"
[Name "abc", Reserved ".", Reserved "λ", Reserved ".", Name "def"],
-}
lexes "+" [Name "+"],
lexes "*" [Name "*"],
@ -110,6 +109,10 @@ tests = "lexer" :- [
lexes "a'" [Name "a'"],
lexes "+'" [Name "+'"],
lexes "a₁" [Name "a₁"],
lexes "a⁰" [Name "a", Sup 0],
lexes "a^0" [Name "a", Sup 0],
lexes "0.x" [Nat 0, Reserved ".", Name "x"],
lexes "1.x" [Nat 1, Reserved ".", Name "x"],
lexes "ω.x" [Reserved "ω", Reserved ".", Name "x"],
@ -119,7 +122,7 @@ tests = "lexer" :- [
"syntax characters" :- [
lexes "()" [Reserved "(", Reserved ")"],
lexes "(a)" [Reserved "(", Name "a", Reserved ")"],
lexes "(^)" [Reserved "(", Name "^", Reserved ")"],
lexFail "(^)",
lexes "{a,b}"
[Reserved "{", Name "a", Reserved ",", Name "b", Reserved "}"],
lexes "{+,-}"
@ -151,10 +154,10 @@ tests = "lexer" :- [
"universes" :- [
lexes "Type0" [TYPE 0],
lexes "Type" [TYPE 0],
lexes "Type" [Reserved "", Sup 0],
lexes "Type9999999" [TYPE 9999999],
lexes "" [TYPE 0],
lexes "₆₉" [TYPE 69],
lexes "" [Reserved "", Sup 0],
lexes "⁶⁹" [Reserved "", Sup 69],
lexes "★4" [TYPE 4],
lexes "Type" [Reserved ""],
lexes "" [Reserved ""]