公共命名空间的表示方法

公共命名空间简介

曾经有人研究如何在电脑上显示汉字,研究的结果是:把汉字全记下来,需要哪个就显示哪个。具体来讲分两步走:

①建立字符集

②设计字体

为了实现自然语言编程,也需要分两步走:

①把所有句子收集起来

②编程实现这些句子

这两步分别对应于「公共命名空间」和「新编译原理」,本文着重讲解公共命名空间。可能有人觉得收集所有句子的工作量太大,但实现人工智能需要的劳动量不比这小。

公共命名空间是一个四维空间,四个维度分别是:方言、句子、冗余项、同位素。

  • C语言是一门方言、Java也是、汉语、英语都是方言,每个人都可以创建自己的方言。
  • print是个句子、计算最大公约数也是个句子,每个方言都包括许多句子。
  • 把x删除、将x删除、删除x,这是冗余项,它们的意思完全一样。
  • print语句加不加换行符,这是典型的同位素,它们的性质相似却略有不同。

有了公共命名空间以后,人们可以把对语言的期望写在上边,而不用专门学习《编译原理》去创建新的语言。通过查表,语言的制作者可以知道一个句子在不同的方言里是什么样子,或者参考冗余项。同一功能由不同的人来实现,应该放在同位素里。

公共命名空间的表示方法,分为"屏幕"、"数据库"、"文本"三种。

公共命名空间在屏幕上的表现方法

如何在二维的电脑屏幕上呈现四维的公共命名空间?先呈现前两个维度,即方言、句子。每一列是一个方言,每一行是一个句子,构成一个电子表格。点开某一个单元格,呈现出来的是后两个维度,即冗余项、同位素。每一列是一个冗余项,每一行是一个同位素。

公共命名空间在数据库中的表示方法

方言 句子 冗余项 同位素 源代码
15 20 1 1 print::换行
15 20 1 2 print::不换行
15 20 2 1 打印::换行
15 20 2 2 打印::不换行

公共命名空间用文本来记录

用R表示大的行,即句子,C表示大的列,即方言。用r小的行,即同位素,用c表示小的列,即冗余项。

复制代码
<C15>老李的方言</C15>
<R20C15>
    <r1c1>print::换行</r1c1>
    <r1c2>打印::换行</r1c2>
    <r2c1>print::不换行</r2c1>
    <r2c2>打印::不换行</r2c2>
</R20C15>
相关推荐
偷偷的卷10 分钟前
【算法笔记 day three】滑动窗口(其他类型)
数据结构·笔记·python·学习·算法·leetcode
北京地铁1号线16 分钟前
Zero-Shot(零样本学习),One-Shot(单样本学习),Few-Shot(少样本学习)概述
人工智能·算法·大模型
大白的编程日记.23 分钟前
【计算机基础理论知识】C++篇(二)
开发语言·c++·学习
网小鱼的学习笔记26 分钟前
python中MongoDB操作实践:查询文档、批量插入文档、更新文档、删除文档
开发语言·python·mongodb
Q_Q51100828536 分钟前
python的保险业务管理与数据分析系统
开发语言·spring boot·python·django·flask·node.js·php
亮11136 分钟前
Maven 编译过程中发生了 Java Heap Space 内存溢出(OutOfMemoryError)
java·开发语言·maven
凤年徐38 分钟前
【数据结构】时间复杂度和空间复杂度
c语言·数据结构·c++·笔记·算法
Chef_Chen40 分钟前
从0开始学习R语言--Day40--Kruskal-Wallis检验
开发语言·学习·r语言
kualcal41 分钟前
代码随想录17|二叉树的层序遍历|翻转二叉树|对称二叉树
数据结构·算法
Zhu_S W1 小时前
深入理解Java虚拟机:Java内存区域与内存溢出异常
java·开发语言·jvm