% These are Ulrich Neumerkel's ISO syntax tests as Prolog facts % Generated from http://www.complang.tuwien.ac.at/ulrich/iso-prolog/conformity_assessment date_generated("2013-11-29"). ulrich_test(1, "writeq('\\n').", "'\\n'"). ulrich_test(2, "'", "syntax err."). ulrich_test(3, ")", "waits"). ulrich_test(261, ")\n'\n", "syntax err."). ulrich_test(4, ".", "syntax err."). ulrich_test(5, "writeq('\t'). % horiz. tab", "syntax err."). ulrich_test(177, "0'\\t=0'\t. % horiz. tab", "syntax err."). ulrich_test(6, "writeq('\n').", "syntax err."). ulrich_test(7, "writeq('\\\n'). % \"\\\\\\n\"", "''"). ulrich_test(8, "writeq('\\\na'). % \"\\\\\\na\"", "a"). ulrich_test(9, "writeq('a\\\nb'). % \"a\\\\\\nb\"", "ab"). ulrich_test(10, "writeq('a\\\n b'). % \"a\\\\\\n b\"", "'a b'"). ulrich_test(11, "writeq('\\ ').", "syntax err."). ulrich_test(193, "writeq('\\ \n'). % \"\\\\ \\n\"", "syntax err."). ulrich_test(12, "writeq('\\\t'). % \"\\\\\\t\"", "syntax err."). ulrich_test(13, "writeq('\\t').", "'\\t'"). ulrich_test(14, "writeq('\\a').", "e.g. '\\a'"). ulrich_test(15, "writeq('\\7\\').", "e.g. '\\a'"). ulrich_test(16, "writeq('\\ca').", "syntax err."). ulrich_test(241, "writeq('\\d').", "syntax err."). ulrich_test(17, "writeq('\\e').", "syntax err."). ulrich_test(18, "writeq('\\033\\').", "e.g. '\\33\\'"). ulrich_test(19, "char_code('\\e',C).", "syntax err."). ulrich_test(21, "char_code('\\d',C).", "syntax err."). ulrich_test(22, "writeq('\\u1').", "syntax err."). ulrich_test(23, "X = 0'\\u1.", "syntax err."). ulrich_test(24, "writeq('", "syntax err."). ulrich_test(25, "writeq(.", "syntax err."). ulrich_test(26, "'\\\n''.", "syntax err."). ulrich_test(210, "X = 0'\\.", "syntax err."). ulrich_test(211, "X = 0'\\. .", "syntax err."). ulrich_test(222, "writeq((-)-(-)).", "(-)-(-)"). ulrich_test(223, "writeq(((:-):-(:-))).", "(:-):-(:-)"). ulrich_test(27, "writeq((*)=(*)).", "(*)=(*)"). ulrich_test(28, "writeq([:-,-]).", "[:-,-]"). ulrich_test(29, "writeq(f(*)).", "f(*)"). ulrich_test(30, "writeq(a*(b+c)).", "a*(b+c)"). ulrich_test(31, "writeq(f(;,'|',';;')).", "f(;,'|',';;')"). ulrich_test(32, "writeq([.,.(.,.,.)]).", "['.','.'('.','.','.')]"). ulrich_test(33, "writeq((a :- b,c)).", "a:-b,c "). ulrich_test(34, "write_canonical([a]).", "'.'(a,[]) "). ulrich_test(35, "writeq('/*').", "'/*'"). ulrich_test(203, "writeq(//*).", "//*"). ulrich_test(36, "writeq('/**').", "'/**'"). ulrich_test(37, "writeq('*/').", "*/"). ulrich_test(38, "\"\\'\\`\\\"\" = \"'`\"\"\". % \"", "succeeds"). ulrich_test(179, "\"\\'\\\"\" = \"'\"\"\". % \"", "succeeds"). ulrich_test(178, "\"\\`\" = \"`\".", "succeeds"). ulrich_test(39, "'\\'\\`\\\"' = '''`\"'.", "succeeds"). ulrich_test(40, "writeq('\\'\\`\\\"\\\"').", "e.g. '\\'`\"\"'"). ulrich_test(41, "('\\\\') = (\\).", "succeeds"). ulrich_test(42, "op(1,xf,xf1).\n1xf1 = xf1(1).", "succeeds"). ulrich_test(43, "X = 0X1.", "syntax err."). ulrich_test(44, "float(.0).", "syntax err."). ulrich_test(45, "op(100,xfx,.).\nfunctor(3 .2,F,A).", "F = ('.'), A = 2."). ulrich_test(46, "float(- .0).", "syntax err."). ulrich_test(47, "float(1E9).", "syntax err."). ulrich_test(48, "integer(1e).", "syntax err."). ulrich_test(49, "op(9,xf,e9).\n1e9 = e9(1).", "succeeds"). ulrich_test(50, "op(9,xf,e).\n1e-9 = -(e(1),9).", "succeeds"). ulrich_test(51, " /**/ 1.0e- 9 = -(e(1.0),9).", "succeeds"). ulrich_test(204, " /**/ writeq(1e).", "e.g. 1 e"). ulrich_test(220, " /**/ writeq(1.0e).", "e.g. 1.0 e"). ulrich_test(52, "op(9,xfy,e).\n1.2e 3 = e(X,Y).", "X = 1.2, Y = 3."). ulrich_test(53, "writeq(1.0e100).", "e.g. 1.0e+100"). ulrich_test(54, "float(1.0ee9).", "syntax err."). ulrich_test(56, "integer(- 1).", "succeeds"). ulrich_test(57, "integer('-'1).", "succeeds"). ulrich_test(58, "integer('-' 1).", "succeeds"). ulrich_test(59, "integer(- /**/1).", "succeeds"). ulrich_test(60, "integer(-/**/1).", "syntax err."). ulrich_test(61, "integer('-'/**/1).", "succeeds"). ulrich_test(62, "atom(-/**/-).", "succeeds"). ulrich_test(63, "op(0,fy,-).", "succeeds"). ulrich_test(180, " /**/ integer(-1).", "succeeds"). ulrich_test(64, " /**/ integer(- 1).", "succeeds"). ulrich_test(135, "writeq(-(1)).", "- (1)"). ulrich_test(136, "op(0,fy,-),writeq(-(1)).", "-(1)"). ulrich_test(182, "writeq(-(-1)).", "- -1"). ulrich_test(183, "writeq(-(1^2)).", "- (1^2) or - (1)^2"). ulrich_test(260, "writeq(-(a^2)).", "-a^2"). ulrich_test(139, "writeq(-((a,b))).", "- (a,b) "). ulrich_test(218, "writeq(-(1*2)).", "- (1*2)"). ulrich_test(140, "writeq(-a).", "-a"). ulrich_test(184, "writeq(-(-)).", "- (-)"). ulrich_test(185, "writeq(-[-]).", "-[-]"). ulrich_test(188, "writeq(-p(c)).", "-p(c)"). ulrich_test(189, "writeq(-{}).", "-{}"). ulrich_test(190, "writeq(-{a}).", "-{a} "). ulrich_test(191, "writeq(-(-a)).", "- -a."). ulrich_test(192, "writeq(-(-(-a))).", "- - -a."). ulrich_test(216, "writeq(-(-(1))).", "- - (1)"). ulrich_test(215, "op(100,yfx,~).\nwriteq(-(1~2~3)).", "- (1~2~3) or\n - (1)~2~3"). ulrich_test(248, " /**/ writeq(- (1~2)).", "- (1~2) or - (1)~2"). ulrich_test(249, " /**/ writeq(1~2).", "1~2"). ulrich_test(55, "op(1,yf,yf1).\n{-1 yf1}={yf1(X)}.", "X = -1."). ulrich_test(65, "compound(+1).", "succeeds *"). ulrich_test(66, "compound(+ 1).", "succeeds *"). ulrich_test(257, "writeq([+{a},+[]]).", "[+{a},+[]]"). ulrich_test(67, "op(0,fy,+).\ncompound(+1).", "syntax err."). ulrich_test(68, "[(:-)|(:-)]=[:-|:-].", "succeeds"). ulrich_test(69, "X=[a|b,c].", "syntax err."). ulrich_test(70, "op(1000,xfy,',').", "p._e.(m.,o.,',')"). ulrich_test(71, "op(1001,xfy,',').", "p._e.(m.,o.,',') or\np._e.(c.,o.,',')"). ulrich_test(72, "op(999,xfy,'|').", "p._e.(c., o.,'|') *"). ulrich_test(73, " /**/ X=[a|b].", "X=[a|b]."). ulrich_test(219, " /**/ [a|[]]=[a].", "succeeds"). ulrich_test(74, " /**/ X=[a|b|c].", "syntax err."). ulrich_test(75, "var(a:-b).", "syntax err."). ulrich_test(76, ":- = :- .", "syntax err."). ulrich_test(77, "- = - .", "syntax err."). ulrich_test(78, "* = * .", "syntax err."). ulrich_test(79, "current_op(200,fy,-).", "succeeds"). ulrich_test(80, "current_op(200,fy,+).", "succeeds *"). ulrich_test(81, "{- - c}={-(-(c))}.", "succeeds"). ulrich_test(82, "(- -) = -(-).", "syntax err."). ulrich_test(83, "(- - -) = -(-(-)).", "syntax err."). ulrich_test(84, "(- - - -) = -(-(-(-))).", "syntax err."). ulrich_test(85, "{:- :- c} = {:-(:-,c)}.", "syntax err."). ulrich_test(86, "{- = - 1}={(-(=)) - 1}.", "syntax err."). ulrich_test(87, "write_canonical((- = - 1)).", "syntax err."). ulrich_test(88, "write_canonical((- = -1)).", "syntax err."). ulrich_test(89, "write_canonical((-;)).", "syntax err."). ulrich_test(90, "write_canonical((-;-)).", "syntax err."). ulrich_test(91, "write_canonical((:-;-)).", "syntax err."). ulrich_test(92, "[:- -c] = [(:- -c)].", "syntax err."). ulrich_test(93, "writeq([a,b|,]).", "syntax err."). ulrich_test(94, "X ={,}.", "syntax err."). ulrich_test(95, "{1} = {}(1).", "succeeds"). ulrich_test(96, "write_canonical({1}).", "{}(1)"). ulrich_test(97, "'[]'(1) = [ ](X).", "X = 1"). ulrich_test(98, "X = [] (1).", "syntax err."). ulrich_test(99, "op(100,yfy,op).", "do._e.(op._s.,yfy)"). ulrich_test(100, "'''' = '\\''.", "succeeds"). ulrich_test(101, "a = '\\141\\'.", "succeeds"). ulrich_test(102, "a = '\\141'.", "syntax err."). ulrich_test(103, "X = '\\141\\141'.", "X = a141"). ulrich_test(104, "X = '\\9'.", "syntax err."). ulrich_test(105, "X = '\\N'.", "syntax err."). ulrich_test(106, "X = '\\\\' .", "syntax err."). ulrich_test(107, "X = '\\77777777777\\'.", "syntax/repr. err."). ulrich_test(108, "a = '\\x61\\'.", "succeeds"). ulrich_test(109, "atom_codes('\\xG\\',Cs).", "syntax err./waits"). ulrich_test(110, "atom_codes('\\xG1\\',Cs).", "syntax err./waits"). ulrich_test(111, "atom(`).", "syntax err."). ulrich_test(112, "atom(`+).", "syntax err."). ulrich_test(113, "X = `a`.", "syntax err./succ."). ulrich_test(114, "integer(0'\\').", "succeeds"). ulrich_test(115, "integer(0''').", "succeeds"). ulrich_test(116, "0''' = 0'\\'.", "succeeds"). ulrich_test(117, "integer(0'').", "syntax err."). ulrich_test(195, "op(100,xf,'').", "succeeds"). ulrich_test(205, " /**/ (0 '') = ''(X).", "X = 0."). ulrich_test(196, " /**/ writeq(0 '').", "0'' or 0 ''"). ulrich_test(197, " /**/ writeq(0'').", "0'' or 0 ''"). ulrich_test(118, "op(100,xfx,'').", "succeeds"). ulrich_test(119, " /**/ functor(0 ''1, F, A).", "F = (''), A = 2."). ulrich_test(120, " /**/ functor(0''1, F, A).", "F = (''), A = 2."). ulrich_test(206, "op(100,xf,f).\nwriteq(0'f').", "syntax err."). ulrich_test(207, " /**/ writeq(0'f'f').", "e.g. 102 f"). ulrich_test(209, " /**/ writeq(0'ff).", "102 f"). ulrich_test(256, " /**/ writeq(0f).", "0 f"). ulrich_test(208, "op(100,xf,'f ').\nwriteq(0 'f ').", "0 'f '"). ulrich_test(121, "X = 2'1.", "syntax err."). ulrich_test(122, "op(100,xfx,'1').\nfunctor(2'1'y, F, A).", "F = ('1'), A = 2."). ulrich_test(262, " /**/ functor(2 '1'y, F, A).", "F = ('1'), A = 2."). ulrich_test(123, "X =0'\\x41\\ .", "X = 65"). ulrich_test(124, "X =0'\\x41\\.", "X = 65"). ulrich_test(125, "X =0'\\x1\\.", "X = 1"). ulrich_test(127, "X is 16'mod'2.", "X = 0"). ulrich_test(128, "X is 37'mod'2.", "X = 1"). ulrich_test(129, "X is 0'mod'1.", "syntax err."). ulrich_test(130, "X is 1'+'1.", "X = 2"). ulrich_test(212, "X is 1'\\\n+'1.", "X = 2."). ulrich_test(213, "X is 0'\\\n+'1.", "X = 1."). ulrich_test(259, "X = 0'\\\n+'/*'. %*/1.", "X = 0+1"). ulrich_test(214, "X is 0'\\", "waits"). ulrich_test(126, "X = 0'\\\n.", "waits"). ulrich_test(131, "op(100,fx,' op').", "succeeds"). ulrich_test(132, " /**/ writeq(' op' '1').", "' op' '1'"). ulrich_test(133, " /**/ writeq(' op'[]).", "' op'[]"). ulrich_test(134, "op(1,xf,xf1).\nwriteq({- =xf1}).", "syntax err."). ulrich_test(137, "writeq(- (a*b)).", "- (a*b)"). ulrich_test(138, "writeq(\\ (a*b)).", "\\ (a*b)"). ulrich_test(141, "current_op(P,xfy,.).", "fails"). ulrich_test(142, "op(400,xfy,.).", "succeeds"). ulrich_test(143, " /**/ writeq(1 .2).", "[1|2]"). ulrich_test(144, " /**/ writeq([1]).", "[1]"). ulrich_test(221, " /**/ X = 1.e.", "X = [1|e]."). ulrich_test(258, " /**/ writeq(ok).%\n1 = X.", "ok X = 1"). ulrich_test(145, "write_canonical('$VAR'(0)).", "'$VAR'(0)"). ulrich_test(146, "write_term('$VAR'(0),[]).", "$VAR(0)"). ulrich_test(244, "writeq('$VAR'(0)).", "A"). ulrich_test(245, "writeq('$VAR'(-1)).", "'$VAR'(-1)"). ulrich_test(246, "writeq('$VAR'(-2)).", "'$VAR'(-2)"). ulrich_test(247, "writeq('$VAR'(x)).", "'$VAR'(x)"). ulrich_test(147, "op(9,fy,fy),op(9,yf,yf).\nwrite_canonical(fy 1 yf).", "fy(yf(1))"). ulrich_test(148, " /**/ write_canonical(fy yf).", "syntax err."). ulrich_test(149, " /**/ writeq(fy(yf(1))).", "fy 1 yf"). ulrich_test(150, " /**/ writeq(yf(fy(1))).", "(fy 1)yf"). ulrich_test(151, "op(9,fy,fy),op(9,yfx,yfx).\nwrite_canonical(fy 1 yfx 2).", "fy(yfx(1,2))"). ulrich_test(152, " /**/ writeq(fy(yfx(1,2))).", "fy 1 yfx 2"). ulrich_test(153, " /**/ writeq(yfx(fy(1),2)).", "(fy 1)yfx 2"). ulrich_test(154, "op(9,yf,yf),op(9,xfy,xfy).\nwrite_canonical(1 xfy 2 yf).", "xfy(1,yf(2))"). ulrich_test(155, " /**/ writeq(xfy(1,yf(2))).", "1 xfy 2 yf"). ulrich_test(156, " /**/ writeq(yf(xfy(1,2))).", "(1 xfy 2)yf"). ulrich_test(157, "op(0,xfy,:-).\ncurrent_op(P,xfx,:-).", "fails"). ulrich_test(158, "op(0,xfy,',').", "p._e.(m.,o.,',')"). ulrich_test(159, "op(9,fy,f),op(9,yf,f).\nwrite_canonical(f f 0).", "f(f(0))"). ulrich_test(201, " /**/ writeq(f(f(0))).", "e.g. f f 0"). ulrich_test(202, " /**/ write_canonical(f 0 f).", "f(f(0))"). ulrich_test(160, " /**/ write_canonical(0 f f).", "f(f(0))"). ulrich_test(161, " /**/ write_canonical(f f).", "syntax err."). ulrich_test(162, "op(9,fy,p),op(9,yfx,p).\nwrite_canonical(1 p p p 2).", "syntax err."). ulrich_test(163, "op(9,fy,p),op(9,xfy,p).\nwrite_canonical(1 p p p 2).", "p(1,p(p(2)))"). ulrich_test(164, "op(7,fy,p),op(9,yfx,p).\nwrite_canonical(1 p p p 2).", "p(1,p(p(2)))"). ulrich_test(165, "atom('.''-''.').", "succeeds"). ulrich_test(166, "op(0,xfy,'|').", "succeeds"). ulrich_test(167, " /**/ writeq((a|b)).", "syntax err."). ulrich_test(168, "op(9,yf,.).", "succeeds"). ulrich_test(169, " /**/ writeq(.(.)).", "('.')'.'"). ulrich_test(194, "writeq((.)+(.)).", "'.'+'.'"). ulrich_test(170, "set_prolog_flag(\n double_quotes,chars).", "succeeds"). ulrich_test(171, " /**/ writeq(\"a\").", "[a]"). ulrich_test(229, " /**/ writeq(\"\\z\").", "syntax err."). ulrich_test(172, "X is 10.0** -323, writeq(X).", "e.g. 1.0e-323."). ulrich_test(173, "1.0e-323=:=10.0** -323.", "succeeds"). ulrich_test(174, "-1 = -0x1.", "succeeds"). ulrich_test(175, "T = t(0b1,0o1,0x1).", "T = t(1,1,1)"). ulrich_test(176, "X is 0b1mod 2.", "X = 1"). ulrich_test(217, "op(1105,xfy,'|').", "succeeds"). ulrich_test(181, " /**/ writeq((a-->b,c|d)).", "a-->b,c|d * "). ulrich_test(186, "X/* /*/=7.", "X = 7"). ulrich_test(187, "X/*/*/=7.", "X = 7"). ulrich_test(198, "atom($-).", "OK"). ulrich_test(199, "atom(-$).", "succeeds"). ulrich_test(200, "op(900, fy, [$]).\nwrite_canonical($a+b).", "$(+(a,b))"). ulrich_test(224, "\\ .", "ex._e.(..)"). ulrich_test(225, "char_code(C,0), writeq(C).", "'\\0\\' or rep._e."). ulrich_test(250, "writeq('\\0\\').", "rep._e. or '\\0\\'"). ulrich_test(226, "write_canonical(_+_).", "e.g. +(_1,_2)"). ulrich_test(227, "write_canonical(B+B).", "e.g. +(_1,_1)"). ulrich_test(228, "writeq(0'\\z).", "syntax err."). ulrich_test(230, "char_code('\\^',X).", "syntax err."). ulrich_test(231, "writeq(0'\\c).", "syntax err."). ulrich_test(232, "writeq(0'\\ ).", "syntax err."). ulrich_test(233, "writeq(nop (1)).", "syntax err."). ulrich_test(234, "op(400,fx,f).\nwriteq(f/**/(1,2)).", "f (1,2)"). ulrich_test(235, " /**/ writeq(1 = f).", "syntax err."). ulrich_test(236, "write_canonical(a- - -b).", "-(a,-(-(b)))"). ulrich_test(237, "op(699,xf,>).", "p._e.(c.,op,>)"). ulrich_test(238, " /**/ writeq(>(>(a),b)).", ">(a)>b"). ulrich_test(239, " /**/ write_canonical(a> >b).", "syntax err."). ulrich_test(242, " /**/ write_canonical(a> =b).", "syntax err."). ulrich_test(243, " /**/ write_canonical((a>,b)).", "syntax err."). ulrich_test(240, " /**/ write_canonical(a>).", "syntax err."). ulrich_test(251, "op(9,yfx,[bop,bo,b,op,xor]).\nwriteq(0bop 2).", "0 bop 2"). ulrich_test(263, " /**/ writeq(0 bop 2).", "0 bop 2"). ulrich_test(252, " /**/ writeq(0bo 2).", "0 bo 2"). ulrich_test(253, " /**/ writeq(0b 2).", "0 b 2"). ulrich_test(254, " /**/ writeq(0op 2).", "0 op 2"). ulrich_test(255, " /**/ writeq(0xor 2).", "0 xor 2"). ulrich_test(264, "writeq('^`').", "'^`'"). ulrich_test(265, "op(9,yf,[b2,o8]).\nwriteq(0b2).", "0 b2"). ulrich_test(267, " /**/ writeq(0o8).", "0 o8"). ulrich_test(268, "op(500, xfy, {}).", "p._e.(c.,o.,{}) *"). ulrich_test(269, "writeq('\\a\\b\\r\\f\\t\\n').", "'\\a\\b\\r\\f\\t\\n'"). ulrich_test(270, "Finis ().", "syntax err.").