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中
- Haskell 98中保留的所有单词都在P-logic中保留。
- P-logic语法中保留了以下附加词:
全部
,存在
,Gfp公司
,磅/平方英尺
,
!
,.
,$
,-/
,/\
,\/
,===
,==>
,<==>
评论
有一种特殊的注释语法可用于标记断言以及Programmatica工具应该考虑的其他代码,但Haskell编译器忽略了:
{-P:
...
-)
常规Haskell工具将此语法视为注释,但被当作{-P:
和-}
通过Programatica工具,字符是空格。
优先顺序
优先级,从最低到最高
关联性 | 操作员 |
---|
正确的 | 全球粮食计划署 ,磅/平方英尺 ,全部 ,存在
|
正确的 | -> ,qconop |
左边 | <==>
|
正确的 | ==>
|
左边 | /\ ,\/ ,-/ ,===
|
左边 | :::
|