P-逻辑语法,由PFE实施

摘自parse2/Parser/PropParser。2004年9月1日。

符号约定

正如在Haskell 98语法参考:

符号含义
[图案]可选择的
{图案}零次或多次重复
(图案)分组
拍打1|拍打2 选择
断言 终端语法

上下文无关语法

P-logic通过使用扩展声明语法添加到Haskell 98属性断言谓词定义,由非终端定义断言财产分别在下面。
断言:断言[圆锥形=]支柱属性:财产圆锥{var|con}=公式属性:pqcon{predarg}| (全部|存在)无功功率,无功功率[::ct类型].支柱|-/支柱|道具propop道具|聚醚砜===聚醚砜|聚醚砜:::公式|(支柱)建议:/\|\/|==>|<==>聚醚砜:{经验}|qvar(量化变量)|pqcon公司|文字公式:a公式|公式->公式|公式qconop公式|-/公式|配方比例公式|磅/平方英尺圆锥.公式|全球粮食计划署圆锥.公式|pqcon{predarg}前置参数:{经验}|qvar(量化变量)|文字|无足畸形a公式:pqcon|[ ]|!aexp1型|$a公式|(公式)|{|键入dpat|支柱|}typedpats:typedpat{,typedpat}型typedpat:帕特[::ct类型]公式:公式{,公式}pqconid:CONID|QCONID|tupconpqcon:pqconid|(g同义词)

保留关键字

在哈斯克尔
保留了两个新关键字:断言财产.除此之外,所有有效的Haskell 98语法在扩展的语言。
在P-logic中

评论

有一种特殊的注释语法可用于标记断言以及Programmatica工具应该考虑的其他代码,但Haskell编译器忽略了:

{-P:
...
-)

常规Haskell工具将此语法视为注释,但被当作{-P:-}通过Programatica工具,字符是空格。

优先顺序

优先级,从最低到最高
关联性操作员
正确的全球粮食计划署,磅/平方英尺,全部,存在
正确的->,qconop
左边<==>
正确的==>
左边/\,\/,-/,===
左边:::