\[\textit{Litar!}
\newcommand{\wd}[2]{\texttt{#1}^{#2}}
\]

让神明白

  文字产生于史前的祭祀,史前的人们改造了原始的语言规则,使得句子拥有“唯一语义性”(至少保证语法树可被唯一生成),以清晰(而不那么像人话)地传递对神的祈求。后来人们逐渐适应了改造语言,产生了系统的 Wfurent 语。

词性

  词语 \(W\) 具有唯一的词性标志——对象数 \(k\in\mathbb Z_{\ge 0}\),记为 \(W^k\)。(儿童读物上会标注哦~)硬要和英文语法对应的话,\(k=0\) 的词可以认为是 n/pron,\(k=1\) 的词可能是 adj/adv,\(k\ge1\) 的词可能是 v/prep 等。不考虑口语词。

基本语法

  • \(S=/W^0/\) 是句子。为了体现语法分析中的同一性,我们把这样的 \(S\) 和 \(W^0\) 都叫做对象。对象是内部完成匹配、整体可作为一个 \(W^0\) 参与成句的语块。
  • \(S=/S_1\ S_2\ \cdots\ S_k\ W^k/\) 是句子,其中 \(S_{1..k}\) 是对象,\(W^k\) 的解释规则由其词义决定,\(k>0\)。我们把这样的 \(W^k\) 称为操作词。操作词是内部未完成匹配、整体可作为一个 \(W^{k'}\) 参与成句的语块。
  • 所有句子能且仅能通过上述规则产生。语法正确的语段由且仅由多个句子并列而成。

  例如,英语 "I buy you a gift",我们规定 \(/S_1\ S_2\ S_3\ \wd{buy}3/\) 解释为“\(S_1\) 给 \(S_2\) 买了 \(S_3\)”,那么上句改写成 Wfurent 语法形式就是 \(/\wd{I}0~\wd{you}0~\wd{gift}0~\wd{buy}3/\)(没有冠词),这也是一个对象。同时,其中的 \(/\wd{gift}0~\wd{buy}3/\) 就可以视为一个操作词 \(W^2\)。

特殊词语

  【占位对象】如果只想表达“我买了一件礼物”,又没有相应语义的动词怎么办?Wfurent 语提供了一系列占位对象。例如 \(\wd{de}0\),无实意,占据操作词的一个对象匹配位置。于是“我买了一件礼物”:\(/\wd{I}0~\wd{de}0~\wd{gift}0~\wd{buy}3/\)。为了避免 \(\wd{de}0\) 连用影响观感,Wfurent 语还有一些小小的“语法糖”,例如复占位对象 \(\wd{dew}-=(\wd{de}0~\wd{de}0)\),虽然等号左右的词语就是完全等价的,但是我们建议 \(\wd{dew}-\) 展开出的两个占位对象被同一个操作词匹配。另外,还有全占位对象 \(\wd{det}-\),它满足 \(/\wd{det}-~W^k/=/\underbrace{\wd{de}0}_{k~\text{times}}~W^k/\),用于对象化一个操作词(通常表示动作,所以可以理解为名化动词)。它可以简写 \((\wd{det}-~W^k)='W^k\),读音为在 \(W^k\) 前加一个轻声的 /t/。

  【可变操作词】那“苹果、香蕉、菠萝和梨子”怎么办?并列词“和”为 \(\wd{la}2\),难道要“和”三次吗?对这些有并列意义的词,Wfurent 语提供还提供了“可变操作词”和“端点对象”。可变操作词记为 \(W^*\),端点对象是 \(\wd{meo}0\),用法是 \(/\wd{meo}0\ S_1\ S_2\ \cdots\ W^*/\),意义不言自明。虽然符合语法,但 Wfurent 人民诚挚地建议您,不要说 \(/\wd{meo}0\ W^*/\) 这样的废话文学。“苹果、香蕉、菠萝和梨子”:\(/\wd{meo}0\ \wd{apple}0\ \wd{banana}0\ \wd{pineapple}0\ \wd{pear}0\ \wd{lan}*/\)。(鬼畜素材:《\(/\wd{de}0\ \wd{de}0\ \wd{de}0\ \wd{de}0\ \wd{de}0\ \wd{de}0\ \wd{la}2\ \wd{la}2\ \wd{la}2\ \wd{la}2\ \wd{la}2/\) 和它的另外 41 种说法》。)

  【名词动化】我们已经有了动词(操作词)名化(对象化)的手段,或者说这种手段在存在 \(\wd{de}0\) 的语言中是自然而然的。实际上,Wfurent 语还提供了用于名词动化的操作词 \(\wd{cat}2\),在 \(/S_1~S_2~\wd{cat}2/\) 中,对象 \(S_2\) 被动化为一个 \(W^1\)(通常用作形容词或副词)修饰 \(S_1\)。例如“香蕉酸奶”(banana yogurt):\(/\wd{yogurt}0~\wd{banana}0~\wd{cat}2/\) 什么酸奶香蕉猫。

进阶语法

  Wfurent 语允许对操作词的 Curry 化使用。

  直接从例子出发,“我们或坚持或徘徊或放弃,我们或生活或生存或死亡,我们或新生或苟延或沉沦”(We [persist, linger or abandon], [live, survive or die], and [revive, remain or sank]),中括号用来划定 or 的结合范围,可见英语没办法强行说出这样一个句子。但这个句子可以用 Wfurent 语说(不妨认为上述英文动词都是 \(W^1\)):

\[\begin{aligned}
/&\wd{y}0~\wd{w}0~\wd{la}2\\
&\wd{meo}0\\
&\quad\wd{meo}0~\wd{persist}1~\wd{linger}1~\wd{abandon}1~\wd{lon}*\\
&\quad\wd{meo}0~\wd{live}1~\wd{survive}1~\wd{die}1~\wd{lon}*\\
&\quad\wd{meo}0~\wd{revive}1~\wd{remain}1~\wd{sank}1~\wd{lon}*\\
&\wd{lan}*/
\end{aligned}
\]

  (这样排版仅为方便语法分析。)其中 \(\wd{lon}*\) 是 \(\wd{lo}2\)(“或者”)的可变操作词形式。分析这个句子,内层的 \(\wd{meo}0~\cdot~\wd{lon}*\) 结构表达了三个动作的“或者”,整体构成了一个新的操作词。可以再形式化一点,令 \(\mathcal W^k\) 表示 Wfurent 语中一切对象数为 \(k\) 的语块构成的集合,那么

\[\wd{meo}0~\cdot~\wd{lon}*:(\mathcal W^k)^n\to\mathcal W^k
\]

就可以视作一个 Curry 化的函数,它将 \(n\) 个 \(W^k\)(“函数”)以“或者”的逻辑关系并列,打包成一个新的 \(W^k\)。当然,这就要求内部语块在完成内部匹配后,要不留下的都是对象(\(\in\mathcal W^0\)),要不留下的都是对象数相同的操作词。

  类似地,外层的 \(\wd{meo}0~\cdot~\wd{lan}*\) 以“并且”的逻辑关系将三个泛函打包成一个新的泛函(\(\in\mathcal W^1\)),它对应着英文原句中的九个动词以及它们的并列逻辑。最后这个 \(W^1\) 匹配了对象词(语块)\(\wd{y}0~\wd{w}0~\wd{la}2\)(“你”+“我”+“和”,即“你和我”“你我”。原则上 \(\wd{w}0\) 可以表示“我”“我们”,但这里作为语气上的强调就写成“你我”了),构成了完整句子。

  需要注意的是,只有 \(\wd{meo}0\) 衍生的结构能够进行泛函运算,因为只有它能够将操作词向前匹配对象的过程截留。

  再举一个简单的例子,“我想要香蕉、苹果和菠萝味酸奶”:

\[\begin{aligned}
/&\wd{w}0~\wd{yogurt}0\\
&\wd{meo}0\\
&\quad\wd{banana}0~\wd{cat}2\\
&\quad\wd{apple}0~\wd{cat}2\\
&\quad\wd{pineapple}0~\wd{cat}2\\
&\wd{lan}*\\
&\wd{tawa}2/
\end{aligned}=\begin{aligned}
/&\wd{w}0~\wd{yogurt}0\\
&\wd{meo}0\\
&\quad\wd{banana}0\\
&\quad\wd{apple}0\\
&\quad\wd{pineapple}0\\
&\wd{lan}*\\
&\wd{cat}2~\wd{tawa}2/
\end{aligned}
\]

其中 \(\wd{tawa}2\) 指“X 想要 Y”。我们同时也发现 \(\wd{cat}2\) 对 \(\wd{meo}0\) 结构具有分配律。


  欢迎大家提供必要的语法结构设定,提供一些词语也可以啦!

Wfurent 语语法概述的更多相关文章

  1. Objective-C语法概述

    Objective-C语法概述 简称OC 面向对象的C语言 完全兼容C语言 可以在OC里面混入C/C++代码 可以开发IOS和Mac OS X平台应用 语法预览 关键字 基本上都是以@开头(为了与C语 ...

  2. javascript运算符语法概述

    × 目录 [1]个数 [2]优先级 [3]结合性[4]类型[5]规则表 前面的话 javascript中的运算符大多由标点符号表示,少数由关键字表示,它们的语法言简意赅,它们的数量却着实不少.运算符始 ...

  3. MySQL 安装 启动 基本语法概述

    MySQL 安装 启动 基本语法概述 MySQL安装和配置 我是直接使用安装包:mysql-installer-community-5.6.10.1.msi 安装的时候其中有几点要注意: 1.记住端口 ...

  4. Xaml语法概述及属性介绍

    Xaml语法概述 1.命名空间     xmal每个元素都对应着一个类,但是在xmal中,只提供类名是不够的,需要知道该类实在.net的哪个命名空间下面.Xaml解析器才能够正确的解析. 1 < ...

  5. <关于JSP技术>运行机制及语法概述(附对本次同济校内ACM选拔赛决赛的吐槽)

    (一)JSP运行的机制 JSP是一种建立在Servlet规范功能之上的动态网页技术,它们都是在通常的网页文件中嵌入脚本代码,用于产生动态内容,不过和ASP不同的是JSP文件中嵌入的是Java代码和JS ...

  6. Drools 规则文件语法概述

    概述(Overview) 以.drl为扩展名的文件,是Drools中的规则文件,规则文件的编写,遵循Drools规则语法.下面详细介绍一下Drools规则文件语法.具体参考官方文档: https:// ...

  7. QT (QSS) 编程, QSS语法概述。。setstylesheet

    http://www.cnblogs.com/davesla/archive/2011/01/30/1947928.html 转载] QT皮肤(QSS)编程 借用css 的灵感, Qt也支持Qt自己的 ...

  8. python语法_1基础语法概述

    http://www.runoob.com/python3 章节:教程.基础语法.数据类型.解释器.注释.运算符. 大纲 查看python版本 实现第一个python3.x程序,hello world ...

  9. holiday06-英语语法-语序和五种基本句式

    第六天 英语五种基本句式: 基本句式一:S V (主+谓) 基本句式二:S V P (主+系+表) 基本句式三:S V O (主+谓+宾) 基本句式四:S V o O(主+谓+间宾+直宾) 基本句式五 ...

  10. javascript基础语法——词法结构

    × 目录 [1]java [2]定义 [3]大小写[4]保留字[5]注释[6]空白[7]分号 前面的话 javascript是一门简单的语言,也是一门复杂的语言.说它简单,是因为学会使用它只需片刻功夫 ...

随机推荐

  1. Nuxt.js 应用中的 imports:sources 事件钩子详解

    title: Nuxt.js 应用中的 imports:sources 事件钩子详解 date: 2024/10/27 updated: 2024/10/27 author: cmdragon exc ...

  2. Diffuision Policy + RL -------个人博客_ZSY_20241101

    Diffusion Policy: Visuomotor Policy Learning via Action Diffusion Cheng Chi, Zhenjia Xu, Siyuan Feng ...

  3. 如何避免 HttpClient 丢失请求头:通过 HttpRequestMessage 解决并优化

    在使用 HttpClient 发起 HTTP 请求时,可能会遇到请求头丢失的问题,尤其是像 Accept-Language 这样的请求头丢失.这个问题可能会导致请求的内容错误,甚至影响整个系统的稳定性 ...

  4. Flink CDC 与Hudi整合

    介绍 之前写过Flink CDC sink 到 Iceberg中,本篇主要实践如何CDC到hudi中. 什么是hudi? Hudi is a rich platform to build stream ...

  5. [离线计算-Spark|Hive] HDFS小文件处理

    背景 HDFS 小文件过多会对hadoop 扩展性以及稳定性造成影响, 因为要在namenode 上存储维护大量元信息. 大量的小文件也会导致很差的查询分析性能,因为查询引擎执行查询时需要进行太多次文 ...

  6. CSP2023总结

    CSP2023总结 入门组 比赛开始时,顺序开题. 看完 \(T1\) 后没有立即想出正确解法,有点慌乱,看完 \(T2,T3\) 并思考了一会后过去了大概 \(20\) 分钟,想到了解法便看 \(T ...

  7. ubuntu 安装使用 mytop

    apt搜索一下 $ sudo apt search mytop Sorting... Done Full Text Search... Done mytop/focal,focal,now 1.9.1 ...

  8. 崖山数据库-监控运维平台-YCM 配置部署详解

    准备工作:操作系统版本:[root@node10 ~]# uname -aLinux node10 3.10.0-1160.el7.x86_64 #1 SMP Mon Oct 19 16:18:59 ...

  9. Apache Tomcat AJP 实现负载均衡

    大部分一开始接触WEB服务器的人可能和我一样对为什么有Apache又有Tomcat服务器感到奇怪(它们还都是Apache开发的呵呵),其实他们不是冗余的服务器,虽然他们都能对外提供WEB服务器,但总的 ...

  10. GIT 使用SSH 方式提交代码

    1.需求 一般情况下,我们在提交代码的时候,使用 HTTP的方式提交代码,这种方式有一个问题,提交时需要输入账号和密码,这个就不是很安全,git 提供了 SSH的方式. 下面就实际操作一下如何使用ss ...