mirror of
https://github.com/GrammaticalFramework/gf-core.git
synced 2026-04-22 11:19:32 -06:00
bug fix and refactoring in the cc command
This commit is contained in:
3
testsuite/compiler/compute/lambda.gfs
Normal file
3
testsuite/compiler/compute/lambda.gfs
Normal file
@@ -0,0 +1,3 @@
|
||||
i -retain prelude/Predef.gfo
|
||||
cc <\x,x -> x : Str -> Str -> Str>
|
||||
cc <\x -> (<\y,x->y : Str -> Str -> Str>) x : Str -> Str -> Str>
|
||||
2
testsuite/compiler/compute/lambda.gfs.gold
Normal file
2
testsuite/compiler/compute/lambda.gfs.gold
Normal file
@@ -0,0 +1,2 @@
|
||||
\x,x_1 -> x_1
|
||||
\x,x_1 -> x
|
||||
@@ -14,4 +14,4 @@ cc case <Q1,Q2> of {<Q1,Q1> => "11"; <Q1,Q2> => "12"; _ => "??"}
|
||||
cc case <Q2,Q2> of {<Q1,Q1> => "11"; <Q1,Q2> => "12"; _ => "??"}
|
||||
cc <\x -> case x of {Q1 => "q1"; Q2 => "q2"} : Q -> Str>
|
||||
cc <\x -> case P2 x of {P1 => "p1"; P2 q => "p2"} : Q -> Str>
|
||||
cc <\x -> case P2 x of {P1 => "p1"; P2 q => case q of {Q1 => "q1"; Q2 => "q2"}} : Q -> Str>
|
||||
cc <\x -> case P2 x of {P1 => "p1"; P2 q => case q of {Q1 => "q"+"1"; Q2 => "q"+"2"}} : Q -> Str>
|
||||
|
||||
@@ -11,12 +11,12 @@ variants {"p2q1"; "p2q2"}
|
||||
"p2q1"
|
||||
"12"
|
||||
"??"
|
||||
\v0 -> case <v0 : param_table.Q> of {
|
||||
param_table.Q1 => "q1";
|
||||
param_table.Q2 => "q2"
|
||||
}
|
||||
\v0 -> "p2"
|
||||
\v0 -> case <v0 : param_table.Q> of {
|
||||
param_table.Q1 => "q1";
|
||||
param_table.Q2 => "q2"
|
||||
}
|
||||
\x -> case <x : param_table.Q> of {
|
||||
param_table.Q1 => "q1";
|
||||
param_table.Q2 => "q2"
|
||||
}
|
||||
\x -> "p2"
|
||||
\x -> case <x : param_table.Q> of {
|
||||
param_table.Q1 => "q1";
|
||||
param_table.Q2 => "q2"
|
||||
}
|
||||
|
||||
@@ -1,11 +1,11 @@
|
||||
4
|
||||
5
|
||||
Predef.length Predef.nonExist
|
||||
\v0 -> Predef.length v0
|
||||
\x -> Predef.length x
|
||||
"ab"
|
||||
"cd"
|
||||
"d"
|
||||
"abc"
|
||||
"d"
|
||||
"ABCD"
|
||||
"abcd"
|
||||
Predef.PFalse
|
||||
@@ -32,5 +32,5 @@ user error
|
||||
"x" ++ Predef.CAPIT ++ "y"
|
||||
"x" ++ Predef.ALL_CAPIT ++ "y"
|
||||
"ab"
|
||||
\v0 -> v0 + "b"
|
||||
\x -> x + "b"
|
||||
Predef.PTrue
|
||||
|
||||
@@ -1,9 +1,9 @@
|
||||
"hello"
|
||||
"x"
|
||||
"y"
|
||||
\v0 -> v0.x
|
||||
\r -> r.x
|
||||
{x = "x"; y = "y"; z = "z"}
|
||||
{x = "x"; y = "y'"}
|
||||
\v0 -> {y = "y'"}
|
||||
\v0 -> {x = v0.x; y = "y'"}
|
||||
\v0 -> {b = "b"}
|
||||
\r -> {y = "y'"}
|
||||
\r -> {x = r.x; y = "y'"}
|
||||
\r -> {b = "b"}
|
||||
|
||||
@@ -25,8 +25,8 @@ param_table.Q2
|
||||
"xy"
|
||||
param_table.Q1
|
||||
param_table.Q2
|
||||
\v0 -> case <v0 : Str> of {
|
||||
"q1" => param_table.Q1;
|
||||
_ => param_table.Q2
|
||||
}
|
||||
\x -> case <x : Str> of {
|
||||
"q1" => param_table.Q1;
|
||||
_ => param_table.Q2
|
||||
}
|
||||
pre {"в"; "във" / strs {"в"; "ф"}}
|
||||
|
||||
Reference in New Issue
Block a user