12.07.2015 Views

“支微入鱼”的地理分布及其成因 - 陕西师范大学学报

“支微入鱼”的地理分布及其成因 - 陕西师范大学学报

“支微入鱼”的地理分布及其成因 - 陕西师范大学学报

SHOW MORE
SHOW LESS
  • No tags were found...

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

Automatic Generation of Library BindingsUsing Static Analysis ∗Tristan Ravitch Steve Jackson Eric Aderhold Ben LiblitComputer Sciences Department, University of Wisconsin–Madison{travitch, sjackso, aderhold, liblit}@cs.wisc.eduAbstractHigh-level languages are growing in popularity. However, decades ofC software development have produced large libraries of fast, timetested,meritorious code that are impractical to recreate from scratch.Cross-language bindings can expose low-level C code to high-levellanguages. Unfortunately, writing bindings by hand is tedious anderror-prone, while mainstream binding generators require extensivemanual annotation or fail to offer the language features that users ofmodern languages have come to expect.We present an improved binding-generation strategy based onstatic analysis of unannotated library source code. We characterizethree high-level idioms that are not uniquely expressible in C’s lowleveltype system: array parameters, resource managers, and multiplereturn values. We describe a suite of interprocedural analyses thatrecover this high-level information, and we show how the resultscan be used in a binding generator for the Python programminglanguage. In experiments with four large C libraries, we find thatour approach avoids the mistakes characteristic of hand-writtenbindings while offering a level of Python integration unmatchedby prior automated approaches. Among the thousands of functionsin the public interfaces of these libraries, roughly 40% exhibit thebehaviors detected by our static analyses.Categories and Subject Descriptors D.2.11 [Software Engineering]:Software Architectures—Languages; D.2.13 [Software Engineering]:Reusable Software—Reusable libraries; D.3.2 [ProgrammingLanguages]: Language Classifications—C, Python; D.3.3[Programming Languages]: Language Constructs and Features—Dynamic storage management, Procedures, functions, and subroutines;D.3.4 [Programming Languages]: Processors—Code generation,Memory management; E.1 [Data Structures]: Arrays; F.3.2[Logics and Meanings of Programs]: Semantics of ProgrammingLanguages—Program analysisLanguages, Reliability, Experiments, Human Fac-General Termstors∗ Supported in part by AFOSR grant FA9550-07-1-0210; LLNL contractB580360; and NSF grants CCF-0621487, CCF-0701957, and CNS-0720565.Any opinions, findings, and conclusions or recommendations expressed inthis material are those of the authors and do not necessarily reflect the viewsof NSF or other institutions.Permission to make digital or hard copies of all or part of this work for personal orclassroom use is granted without fee provided that copies are not made or distributedfor profit or commercial advantage and that copies bear this notice and the full citationon the first page. To copy otherwise, to republish, to post on servers or to redistributeto lists, requires prior specific permission and/or a fee.PLDI’09, June 15–20, 2009, Dublin, Ireland.Copyright c○ 2009 ACM 978-1-60558-392-1/09/06. . . $5.00Keywords FFI, foreign function interfaces, bindings, libraries,dataflow analysis, modular static program analysis, multi-languagecode reuse1. IntroductionIn recent years, high-level languages have made inroads into areasformerly reserved for low-level languages, such as scientific computingand non-kernel systems programming. A high-level languagecan speed development by offering helpful features like automaticmemory management.However, even with increasingly-capable high-level languages,there remains a need to access code written in low-level languages.Some important reasons include:Direct access: By their very nature, high-level languages attemptto hide low-level details from programmers. Sometimes, thesedetails become important, either for performance in critical loopsor for interaction with hardware, and high-level languages donot always provide means to operate “on the metal.”Code reuse: Well-tested code has great value: its bugs are at leastknown, if not fixed. Rewriting code risks introducing new andunknown bugs. In many situations, there may not be time toport a large code-base to a new language, even if such a port isdesirable.Additionally, sharing a single library among several languagespromotes interoperability and frees designers from the burdenof reimplementing the same specification in every language.Many high-level languages facilitate the reuse of low-levellibraries through foreign function interfaces, which permit highlevellanguages to make calls to native code. When discussing suchcalls, we refer to the high-level language as the host language and thenative code as a guest library; the low-level language that producedthe guest library is thus the guest language. We refer to a set ofhost language functions which make an entire guest library availablethrough some form of function interface as a library binding. Weonly consider C as the guest language in this paper, but the principlescan be applied to other languages.When a small number of guest functions are needed in a hostlanguage, it may be convenient for a developer to use foreignfunction interfaces “by hand.” However, the task of building acomplete binding for a large library is nontrivial. In this paper,we argue that this task ought to be automated, and show that existingtechniques for such automation may be greatly improved by staticanalysis of a guest library’s source code.The remainder of this paper is organized as follows. Section 2motivates our work. Section 3 identifies desirable features for librarybindings that cannot be represented in C function declarations alone.Section 4 describes a suite of interprocedural static program analysesthat recover this missing information from C library source code. In352


王 力 1985《 汉 语 语 音 史 》 [1]183 ), 以 显 示 陕 北 读 音 的存 古 性 质 :汝 性 不 茹 荤 , 清 静 仆 夫 内 [nuai]。秉 心 识 本 源 , 于 事 少 滞 碍 [ai]。云 端 水 筒 坼 , 林 表 山 石 碎 [suai]。触 热 藉 子 修 , 通 流 与 厨 会 [uai]。往 来 四 十 里 , 荒 险 崖 谷 大 [dai]。日 曛 惊 未 , 貌 赤 ? 相 对 [tuai]。浮 瓜 供 老 病 , 裂 饼 常 所 爱 [ai]。于 斯 答 恭 谨 , 足 以 殊 殿 最 [tsuai]。讵 要 方 士 符 ? 何 假 将 军 盖 [kai]?行 诸 直 如 笔 , 用 意 崎 岖 外 [uai]。陕 北 话 不 需 要 改 变 任 何 一 个 韵 母 就 可 以 读 得 很 和谐 , 而 普 通 话 必 须 变 来 变 去 。普 通 话 的 uei 韵 母 的 另 一 个 来 源 是 中 古 蟹 摄 合口 三 四 等 与 止 摄 合 口 三 等 。 这 类 字 有 :非 飞 妃 fēi 肥 féi 匪 榧 翡 fěi 废 肺 吠 费痱 fèi,累 1 垒 lěi 累 2 类 泪 lèi,闺 圭 规 龟 归 絡 guī 诡 轨 癸 鬼 guǐ 桂 鳜 跪 柜贵 guì,亏 窥 kuī 奎 逵 葵 kuí 愧 kuì,麾 挥 辉 徽 huī 毁 huǐ 秽 惠 慧 讳 huì,追 锥 zhuī 缀 赘 坠 zhuì,吹 炊 chuī 垂 槌 锤 chuí,谁 shuí 水 shuǐ 税 睡 shuì,蕊 ruǐ 芮 锐 瑞 ruì,嘴 zuǐ 醉 zuì,脆 翠 粹 cuì,虽 绥 suī 随 suí 髓 suǐ 岁 遂 隧 穗 suì,危 微 威 wēi 为 1 维 惟 唯 违 围 韦 wéi 委 萎 伪尾 伟 苇 纬 wěi 卫 喂 为 2 位 未 味 魏 畏 尉 蔚 慰 胃 谓猬 wèi。别 看 甲 类 字 陕 北 人 读 成 了 uai, 这 类 字 陕 北 人 可不 读 uai, 而 是 读 uei。 为 什 么 ? 因 为 古 代 来 源 不 同 ,陕 北 人 仍 然 保 持 了 古 代 的 区 别 。 下 文 称 “ 乙 类 字 ”。值 得 注 意 的 是 , 乙 类 字 陕 北 人 不 但 不 与 甲 类 字混 同 , 有 时 候 还 会 读 成 ü[y]。 这 种 音 更 加 古 老 。 下面 先 举 我 的 家 乡 话 清 涧 话 为 例 。 清 涧 话 不 但 古 老 ,而 且 土 , 它 把 ü 都 读 成 了 舌 尖 音 []。 只 是 因 为 清涧 话 读 [] 的 字 很 多 , 我 们 才 拿 它 举 例 。 在 清 涧 话的 基 础 上 再 来 看 其 他 读 ü 的 方 言 就 清 楚 了 。嘴 [ts]: 嘴 头 子醉 [ts]: 喝 醉 了86翠 [ts‘]: 翠 花髓 [s]: 骨 髓 ; 把 髓 吃 了 ; 髓 哈 喇 了随 [s]: 随 上 ( 跟 上 、 围 上 ); 随 当 ( 立 即 、马 上 )穗 [s]:[ 麦 、 谷 等 植 物 ] 穗 穗 儿 ; 穗 子纟 惠 [s]:[ 布 、 线 等 ] 纟 惠 儿 ; 纟 惠 子岁 [s]: 几 岁 了 ? 岁 数 大 小 哩 ?围 [z]: 围 席 ( 磨 面 时 围 在 磨 盘 边 儿 上防 止 风 吹 的 低 矮 的 编 席 )苇 [z]: 苇 叶 ( 用 来 包 粽 子 )、 苇 子纬 [z]: 纬 线 ( 织 布 机 上 的 纬 线 ); 缠 纬 线( 缠 制 梭 子 芯 )累 [z]: 带 累泪 [z]: 眼 泪垒 [z]: 垒 墙 ; 垒 摞 摞 ( 叠 放 成 堆 )慰 [z]: 慰 问 ; 安 慰西 安 是 陕 西 省 的 省 会 , 也 是 西 北 地 区 的 大 都 会 。用 西 安 人 的 说 法 , 我 们 没 有 方 言 。 [3],[4]148 1 果 然 , 西安 话 甲 乙 两 类 韵 母 混 同 , 如 同 北 京 话 , 都 是 读 uei。在 王 军 虎 1996《 西 安 方 言 词 典 》 [5]52 里 , 我 们 还 是 找到 了 四 个 字 :纟 惠 xü[y], 苇 ü[y], 纬 ü[y], 慰 ü[y]作 为 地 区 的 中 心 城 市 , 西 安 保 留 ü 读 音 的 字 很少 , 与 清 涧 话 不 能 相 比 。 这 不 奇 怪 。 大 城 市 的 语 言变 化 快 , 而 且 要 向 国 家 标 准 看 齐 [6]22-23 。 可 是 不 管多 还 是 少 , 我 们 只 能 在 乙 类 字 中 找 到 读 ü 韵 母 的 字 ,却 不 能 在 甲 类 字 中 找 到 读 ü 韵 母 的 字 。 这 是 理 所 当然 的 。在 陕 西 其 他 地 方 , 这 种 音 的 留 存 可 能 没 有 清 涧那 么 多 , 然 而 星 星 点 点 , 遍 及 全 省 。 张 崇 主 编 《 陕 西方 言 词 汇 集 》 [7]74 在 “ 西 安 等 8 个 点 的 方 言 特 点 及 相互 异 同 的 比 较 ” 一 节 中 记 有 :止 摄 合 口 三 等 影 、 喻 母 字 在 今 北 京 读 零 声母 [uei] 韵 , 汉 中 将 这 些 字 一 般 也 念 作 [uei]。但 西 安 等 7 地 将 这 些 字 中 的 部 分 字 读 作 了[y], 并 且 这 类 [y] 韵 字 在 各 地 大 都 具 有 文 白 异读 ; 文 读 为 [uei] 或 [ei]( 声 母 为 [v] 时 ), 白 读为 [y]。该 书 列 表 举 例 :1 1982 年 我 到 西 安 调 查 方 言 , 被 调 查 人 翁 维 谦 这 样 跟我 说 。 翁 先 生 是 西 安 的 宿 儒 , 在 政 协 及 文 史 馆 工 作 。 听 说 翁先 生 已 经 作 古 , 令 人 不 胜 悼 惜 。


开 ai ei ao ou齐 ○ ○ iao iou合 uai uei ○ ○撮 ○ ○ ○ ○为 什 么 没 有 iai、iei, 没 有 üai、üei; 没 有 uao[uau]、uou, 没 有 üao[yau],üou。 因 为 i 韵 尾 容 忍 不 了 前 面有 i 和 ü[y],u 韵 尾 容 忍 不 了 前 面 有 u 和 ü[y]。同 理 ,ü[y] 也 容 忍 不 了 i, 势 必 产 生 异 化 。 这 样 就 有两 条 路 可 走 : 一 是 保 留 前 面 的 ü[y], 消 除 后 面 的 i;一 是 保 留 后 面 的 i, 消 除 前 面 的 ü[y]。 很 有 意 思 ,这 两 种 方 式 在 官 话 方 言 中 都 发 生 了 。 这 就 是 中 原 官话 的 ü[y] 方 式 和 北 方 官 话 的 uei 方 式 。[11],[4]142拙 作 分 析 《 中 原 音 韵 》 的 萧 豪 分 韵 时 曾经 说 过 :“ 这 个 时 候 的 音 韵 格 局 已 经 发 生 了 根 本 性的 转 变 。 对 这 样 一 个 系 统 来 说 , 有 无 -i- 介 音 不 再是 无 关 全 局 的 音 值 差 别 ( 语 音 差 别 ), 而 是 一 个 跨 类问 题 ( 音 韵 差 别 ) 了 。” 同 样 , 有 无 ü[y] 介 音 也 不 再是 无 关 全 局 的 音 值 差 别 , 而 是 一 个 跨 类 问 题 了 。 格局 有 大 格 局 , 也 有 小 格 局 ; 小 格 局 要 服 从 大 格 局 。 中古 音 的 两 呼 八 等 合 并 为 开 、 齐 、 合 、 撮 四 呼 是 大 格 局 ,yi 怎 样 改 变 是 小 格 局 。 中 原 官 话 取 齐 大 格 局 读 ü[y] 介 音 , 正 符 合 它 的 身 份 ——— 它 在 北 方 官 话 地 位上 升 之 前 是 “ 多 元 一 极 ” 的 “ 极 ” [6]15-25 , 自 当 于 古 有征 , 于 今 为 则 。 今 天 ü[y] 音 遍 布 中 原 官 话 区 和 南方 方 言 区 , 正 说 明 了 这 曾 经 是 一 个 强 有 力 的 方 言 , 也显 然 非 中 原 官 话 莫 属 。许 多 人 以 为 uei 念 ü[y] 是 吴 语 的 特 点 , 几 至 众口 铄 金 的 程 度 。 1 不 过 , 也 有 人 独 具 慧 眼 。 丁 邦 新分 析 100 年 前 的 苏 州 话 的 ue~y 两 读 时 指 出 :“ 吴 语中 没 有 两 读 的 止 摄 合 口 三 等 的 见 系 字 都 读 舌 根 音 。可 见 白 话 音 的 舌 面 音 读 法 是 从 另 一 个 方 言 借 进 苏 州话 的 , 这 个 方 言 显 然 不 会 是 北 方 话 , 究 竟 是 什 么 方言 , 还 有 待 进 一 步 的 探 讨 。” [12]25 丁 先 生 不 囿 于 “ 文白 ” 的 名 目 , 看 出 属 于 “ 白 话 ” 的 读 音 恰 恰 是 外 来 的 ,实 是 洞 察 明 见 。 至 于 丁 先 生 说 “ 这 个 方 言 显 然 不 会是 北 方 话 ”, 那 是 因 为 现 在 学 界 把 北 京 话 当 作 北 方话 的 代 表 , 这 自 然 不 合 于 “ 北 方 话 ”。 如 果 我 们 知道 , 北 方 还 曾 经 有 过 一 个 以 长 安 — 洛 阳 为 代 表 的 中原 官 话 , 那 么 苏 州 这 个 江 南 首 善 之 区 所 从 借 的 “ 有待 进 一 步 的 探 讨 ” 的 方 言 的 身 份 也 就 豁 然 开 朗 了 。丁 先 生 还 指 出 [12]26 :“ 如 果 切 韵 时 代 北 方 话 是 [uei]一 类 的 音 , 北 方 大 致 保 留 这 个 读 法 , 见 系 声 母 也 不变 ; 另 一 个 方 言 则 由 uei>ui>y, 见 系 声 母 则 由 舌 根88音 变 为 舌 面 音 , 有 可 能 成 为 苏 州 白 话 音 的 来 源 ”。丁 先 生 所 设 想 的 两 个 方 言 也 居 然 言 中 : 前 一 个 是 北方 官 话 , 另 一 个 则 是 中 原 官 话 。由 于 北 方 官 话 将 iuei 异 化 为 uei, 见 系 声 母 就 失去 了 颚 化 的 条 件 , 只 能 “ 大 致 保 留 这 个 读 法 , 见 系 声母 也 不 变 ”, 从 而 也 就 破 坏 了 中 古 三 四 等 见 系 声 母由 舌 根 音 转 变 为 舌 面 音 的 总 格 局 。 中 原 官 话 则 遵 循中 古 三 四 等 韵 演 变 为 细 音 的 总 规 则 , 由 iui>yi,“ 见系 声 母 则 由 舌 根 音 变 为 舌 面 音 ”, 维 持 了 中 古 三 四等 见 系 声 母 由 舌 根 音 转 变 为 舌 面 音 的 总 格 局 。 此外 , 还 须 看 到 , 今 天 的 结 果 “ 北 方 话 是 [uei] 一 类 的音 , 北 方 大 致 保 留 这 个 读 法 , 见 系 声 母 也 不 变 ”, 不仅 破 坏 了 由 舌 根 音 转 变 为 舌 面 音 的 总 格 局 , 而 且 当初 由 iuei>uei, 已 经 破 坏 了 合 口 三 四 等 演 变 为 撮 口呼 的 出 发 点 2 。 今 天 的 “ 见 系 声 母 也 不 变 ” 不 过 是 当初 歧 路 的 延 长 而 已 。语 音 有 时 候 跟 人 一 样 : 当 公 众 人 物 可 以 获 取 许多 本 不 属 于 他 的 好 处 和 附 会 , 可 是 也 由 此 无 法 摆 脱许 多 应 运 而 生 的 束 缚 和 曲 解 。 破 坏 格 局 的 事 , 作 为方 言 , 天 高 皇 帝 远 , 变 了 也 就 变 了 ; 可 是 作 为 标 准 语 ,就 没 有 那 么 容 易 了 。 这 只 要 看 一 看 今 天 的 审 音 审 字委 员 会 , 不 要 说 审 错 了 , 就 是 审 对 了 , 也 要 遭 到 多 少人 的 唾 骂 就 明 白 了 。 一 般 来 说 , 政 治 中 心 的 语 言 变化 快 , 这 与 它 的 交 流 速 度 快 有 关 [6]22-23 。 但 也 不 是说 , 方 言 就 无 所 作 为 , 只 是 跟 在 中 心 城 市 后 边 亦 步 亦趋 。 如 果 没 有 方 言 的 脱 轨 行 为 , 我 们 也 就 不 能 理 解今 天 五 花 八 门 , 甚 至 南 辕 北 辙 的 方 言 现 象 了 。实 际 上 , 从 ü[y] 音 今 天 的 地 理 分 布 也 可 以 看出 : 北 京 话 没 有 走 中 原 官 话 的 路 , 这 是 因 为 在 中 原 官话 一 统 天 下 的 时 候 , 它 偏 居 一 方 ( 北 方 ); 又 因 为 它偏 居 一 方 , 才 有 了 打 破 格 局 的 自 由 和 可 能 。3引 起 我 们 注 意 的 是 , 北 京 话 似 乎 还 有另 外 一 个 层 次 , 这 就 是 读 “i” 韵 母 的 层 次 。1 在 北 京 开 会 期 间 , 遇 到 游 汝 杰 先 生 , 他 告 诉 我 , 吴 语区 的 许 多 旧 文 献 这 样 记 载 , 所 以 大 家 以 为 是 吴 语 的 特 点 。2 丁 声 树 撰 文 、 李 荣 制 表 的 《 汉 语 音 韵 讲 义 》(《 方 言 》1981 年 第 4 期 ) 说 :“ 见 系 三 四 等 合 口 , 情 况 比 较 复 杂 。” 下 文第 一 条 就 是 “ 蟹 止 摄 和 宕 摄 舒 声 今 读 合 口 呼 , 如 ‘ 桂 卫 鬼 葵狂 往 ’。” 并 在 这 一 段 举 例 之 后 说 :“ 见 系 三 四 等 合 口 情 况 尽管 很 不 一 致 , 但 是 无 论 在 哪 一 摄 今 音 都 没 有 读 开 口 呼 的 。”仅 仅 由 于 一 条 的 捣 乱 ,“ 长 使 英 雄 泪 满 襟 ”, 让 当 代 最 严 谨 的两 位 学 者 划 出 这 么 迂 阔 无 奈 的 界 限 ( 宕 摄 合 口 只 有 平 上 去相 承 的 一 个 韵 , 可 以 作 为 例 外 描 述 。 另 , 今 晋 语 区 有 方 言 保留 撮 口 呼 读 法 )。


这 些 字 不 多 , 我 们 不 避 重 复 , 把 这 些 字 抄 录 在 下 面 :携 xié 畦 qí 遗 yí/wèi 季 jì 尾 yǐ/wěi近 代 以 来 以 北 京 话 为 代 表 的 北 方 官 话 处 于 上位 。“ 如 果 权 威 方 言 里 发 生 了 误 读 , 它 也 会 随 着 权威 方 言 的 传 播 而 进 入 被 影 响 的 方 言 。” [13]3 这 些 非uei 读 音 的 字 是 北 京 话 演 变 的 例 外 , 也 就 很 容 易 成 为其 他 方 言 演 变 的 例 外 。 因 此 从 这 些 字 的 读 音 , 我 们不 能 断 定 究 竟 是 中 原 官 话 原 有 的 , 还 是 从 北 方 官 话输 入 的 。 需 要 考 察 的 是 中 原 官 话 里 是 否 还 存 在 北 方官 话 所 没 有 的 , 或 者 说 不 可 能 受 北 方 官 话 影 响 而 产生 的 这 类 字 , 如 果 存 在 , 那 就 说 明 这 应 当 是 中 原 官 话的 而 不 是 北 方 官 话 的 。 考 察 结 果 告 诉 我 们 , 这 类 字是 存 在 的 , 而 且 无 可 置 疑 。作 为 姓 氏 的 “ 惠 ” 字 西 安 话 读 xi[i]。“ 名 从 主人 ”, 姓 xi[i] 的 西 安 人 也 不 容 许 别 人 把 自 己 的 姓读 成 “huì”。 程 祥 徽 先 生 告 诉 作 者 , 他 在 青 海 教 书 时期 的 陕 西 学 生 “ 惠 丽 雅 ” 坚 持 自 己 姓 “xì”, 以 至 于 同学 们 把 她 的 姓 改 写 为 “ 葸 ”。 清 涧 县 的 地 名 “ 惠 家崖 ”“ 惠 家 河 ”“ 惠 家 塬 ” 的 “ 惠 ” 都 读 si[s]( 作 为姓 , 清 涧 话 都 读 huei[xuei], 不 读 si[s]。 不 过 , 这些 村 子 里 的 人 都 知 道 村 名 字 就 是 他 们 的 姓 , 所 以 民谚 曰 “ 惠 si[s] 惠 huei[xuei] 不 分 ”)、“ 惠 ” 是 清 涧县 的 大 姓 , 历 史 上 颇 多 名 人 。 俗 语 源 的 说 法 是 “ 惠 ”家 曾 有 “ 惠 阁 老 ”, 因 为 犯 了 死 罪 , 为 防 株 连 九 族 , 逃难 中 传 出 话 来 , 要 族 人 改 姓 为 “si[s]”。 这 当 然 是无 稽 之 谈 。 如 果 我 们 假 设 , 中 原 官 话 本 来 就 有 齐 微合 口 变 i 的 条 例 , 这 就 不 足 为 奇 了 。白 居 易 出 生 在 渭 南 下 絡 ——— 今 渭 南 下 絡 镇 。“ 絡 ” 当 地 读 ji[ti]。 据 说 当 地 已 经 把 “ 下 絡 镇 ” 写为 “ 下 吉 镇 ”。 同 样 ,“ 名 从 主 人 ”, 地 名 宁 愿 改 字 , 也不 愿 意 改 变 发 音 。 在 修 改 本 文 的 时 候 , 我 们 顺 手 查了 一 下 百 度 百 科 , 它 的 说 明 是 :“ 地 名 。 今 为 下 絡镇 ,‘ 下 絡 ’ 今 写 作 ‘ 下 吉 ’, 音 读 作 ‘ji’。” 1这 两 条 不 可 能 是 由 北 方 官 话 强 加 的 外 来 “ 白读 ”。 现 在 我 们 知 道 了 中 原 官 话 本 来 就 有 一 个 层 次是 “ 支 微 入 鱼 ”, 那 么 从 “y” 变 “i”, 就 像 客 家 话 把 “ 吃鱼 ” 说 成 “ 吃 姨 ”, 变 撮 口 为 齐 齿 , 那 就 是 再 自 然 不 过的 了 。 如 果 假 设 原 来 读 uei, 就 怎 么 也 变 不 成 i 了 。当 然 , 变 总 是 可 以 变 的 , 就 像 上 一 节 说 过 的 那 样 , 首先 异 化 一 次 iuei>uei, 再 脱 落 一 次 介 音 uei>ei, 再脱 落 一 次 主 要 元 音 ei>i; 不 用 说 , 还 必 须 冒 天 下 之大 不 韪 。 也 许 正 是 由 于 这 种 音 变 过 于 迂 曲 , 所 以 很少 有 人 解 释 造 成 北 京 话 这 几 个 例 外 的 原 因 。 2现 在 我 们 来 说 明 北 京 话 也 就 是 普 通 话 的 这 几 个例 外 字 音 。“ 季 ” 字 本 来 与 “ 愧 ” 同 音 , 折 合 今 音 应 该 是“guì”( 今 广 州 话 还 是 读 guai[kuai]= 北 京 话 的guì)。 过 去 我 们 不 知 道 它 为 什 么 会 读 齐 齿 呼 , 现 在我 们 知 道 , 因 为 在 它 的 基 础 方 言 ——— 中 原 官 话 里 发生 了 由 “y” 到 “i” 的 变 化 。“ 遗 失 ” 的 “ 遗 ” 折 合 今 音 应 该 是 “wéi”, 今 天 读“yí”, 道 理 同 “ 季 ” 一 样 。 它 有 一 个 异 读 是 “wèi”。“wèi” 是 文 人 从 反 切 折 合 出 来 的 读 音 (《 广 韵 》 六 至 :遗 , 赠 也 , 以 醉 切 )。“ 携 ” 旧 国 音 读 “xí”, 道 理 同 上 。 不 过 这 是 一 个文 人 字 , 谁 也 不 知 道 它 确 切 该 读 什 么 , 除 非 查 书 本 。可 是 从 书 上 查 , 它 只 能 告 诉 我 们 , 它 本 念 “ 畦 ”。 可“ 畦 ” 是 什 么 呢 ? 夫 子 不 学 稼 , 还 是 要 查 书 本 。 大 概有 人 不 甘 心 , 仿 照 蟹 摄 二 等 字 的 变 化 , 念 成 了 “xié”,邪 音 胜 正 , 盖 过 了 xí 音 。 3现 在 该 说 “ 畦 ” 字 了 。“ 畦 ” 是 一 个 地 道 的 农 民1 网 上 关 于 “ 三 贤 故 里 ” 下 絡 镇 的 一 段 介 绍 是 : 史 载 , 春秋 时 期 , 前 秦 于 武 公 十 年 ( 前 688) 武 力 夺 得 絡 戎 地 , 置 絡 县 ,后 改 为 上 絡 县 。 秦 嬴 政 于 始 皇 二 十 六 年 ( 前 221) 统 一 六 国之 后 , 行 政 上 实 行 郡 县 制 , 发 现 前 代 设 有 “ 上 絡 ” 而 无 “ 下絡 ”, 便 决 定 在 关 中 东 部 设 下 絡 县 , 治 所 设 在 今 下 吉 镇 东 南方 向 的 渭 河 北 岸 。 辖 区 约 为 临 渭 区 渭 河 以 北 16 个 乡 镇 。 如此 算 来 ,“ 下 絡 ” 这 一 地 名 自 诞 生 以 来 , 距 今 已 有 2200 多 年 。北 魏 太 祖 道 武 帝 拓 跋 皀 登 国 元 年 (386) 建 朝 后 , 发 现 下絡 的 絡 与 他 名 字 中 的 “ 皀 ” 同 音 , 为 了 避 讳 朝 廷 便 下 令 改 念“ 絡 ”gui( 归 ) 为 “ 吉 ” 音 。 后 又 改 下 絡 为 下 封 , 但 仍 念 “ 下 吉 ”的 音 。 这 在 “ 朕 即 国 家 , 国 家 即 朕 ” 的 封 建 社 会 并 不 算 什 么稀 罕 事 。 隋 炀 帝 登 基 的 第 二 年 , 即 大 业 二 年 (606), 又 恢 复了 “ 下 絡 县 ” 的 原 写 法 , 并 恢 复 “ 絡 ” 字 原 读 音 gui( 归 )。 这 才还 原 了 “ 下 絡 ” 的 本 来 面 目 。2 也 许 惟 一 给 予 解 释 的 是 日 本 的 有 坂 秀 世 :“ 牙 喉 音 四等 合 口 个 别 字 在 后 代 的 资 料 中 读 做 开 口 ; 这 是 音 韵 对 应 规 律的 例 外 , 如 ‘ 遗 ’‘ 役 ’‘ 季 ’‘ 尹 ’‘ 营 ’‘ 倾 ’ 等 在 《 中 原 音 韵 》、现 代 北 京 话 均 是 开 口 , 而 牙 喉 音 三 等 合 口 字 没 有 这 个 现 象 。他 认 为 ,‘ 硬 腭 性 ’ 介 音 再 加 合 口 的 动 作 , 音 色 的 变 化 也 不 太显 著 , 且 舌 面 前 部 抬 得 很 高 , 就 妨 碍 嘴 唇 和 嘴 巴 的 动 作 , 这 些因 素 会 引 起 合 口 性 的 弱 化 甚 至 开 口 化 。…… 齐 、 先 等 韵 的 个别 合 口 字 亦 在 此 列 , 如 ‘ 携 ’、‘ 县 ’、‘ 血 ’ 等 在 《 中 原 音 韵 》、现 代 北 京 话 都 读 作 开 口 ,……” 见 平 山 久 雄 《 平 山 久 雄 语 言学 论 文 集 》, 商 务 印 书 馆 2005 年 。 是 否 由 “ 等 ” 的 原 因 引 起 ,这 里 暂 不 作 断 定 。 至 于 有 坂 秀 世 关 于 语 音 的 解 释 , 正 好 与 我们 在 下 一 节 提 出 的 语 音 解 释 可 以 互 相 参 证 。3 对 于 “ 携 ” 改 读 为 “xié”, 平 山 久 雄 先 生 在 个 人 通 信 中解 释 为 受 “ 挟 ” 的 影 响 。 我 觉 得 这 是 一 个 很 可 能 的 原 因 。 因为 “ 携 ” 日 常 几 乎 不 用 , 而 “ 挟 天 子 以 令 诸 侯 ”“ 挟 泰 山 以 超 北海 ” 则 是 常 见 的 引 语 。89


字 。 农 民 字 的 好 处 是 土 生 土 长 , 父 子 相 传 , 读 音 不 容易 脱 轨 1 , 缺 点 是 要 受 地 域 和 时 代 限 制 。 如 果 那 个地 方 没 有 那 个 东 西 , 或 者 有 那 个 东 西 而 改 叫 了 别 的名 字 , 那 个 字 音 就 会 失 传 。 相 对 来 说 , 文 人 字 的 好 处是 一 旦 产 生 , 就 记 录 在 案 , 千 年 之 后 也 会 有 人 发 覆 起用 。 如 著 名 的 章 太 炎 的 三 个 女 儿 名 叫 “ 爻 爻 ”“ ”“ ”, 用 别 人 不 认 识 的 古 字 以 炫 博 学 。“ 畦 ” 字 在 城市 里 大 概 早 就 失 传 ,“ 秀 才 不 识 字 , 识 字 读 半 边 ”, 很早 就 按 照 “ 圭 ( 奎 )” 字 读 了 , 后 来 的 文 人 取 变 形 的“ 圭 ” 字 的 声 , 取 农 民 的 韵 , 产 生 了 一 个 城 乡 结 合的 qí。从 这 几 个 字 也 可 以 看 出 , 只 有 中 原 官 话 是 实 实在 在 地 读 “i”, 因 为 它 的 前 身 就 是 “ü[y]”。 北 京 话是 处 在 犹 疑 彷 徨 之 中 , 它 不 敢 把 “ 惠 、 絡 ” 念 成 i,“ 遗 ” 字 只 有 一 半 念 i,“ 携 ” 字 中 途 改 嫁 ,“ 畦 ” 字 不合 法 。 因 此 我 们 以 为 , 这 种 韵 母 为 i 的 读 音 原 是 中原 官 话 的 而 不 是 北 方 官 话 的 , 它 的 来 源 是 y>i, 而 不是 uei>i。4最 后 说 “ 尾 ” 字 。“ 尾 ” 字 虽 然 读 “i”,但 不 与 上 述 几 个 字 同 步 发 展 而 来 。 这 是 因为 唇 音 的 合 口 性 质 在 汉 语 官 话 史 上 早 就 消 失 了 ———关 于 这 一 点 , 我 们 也 留 到 将 来 有 机 会 谈 汉 语 史 的 时候 再 谈 。 齐 微 韵 的 主 要 元 音 是 i。 西 安 话 的 旧 读 正是 这 个 音 [3]148 :fi: 废 肺 非 飞 肥 匪 费vi: 维 惟 唯 微 未 味孟 子 敏 先 生 也 告 诉 作 者 , 他 的 方 言 ( 山 东 平 邑 ) 里“ 飞 ” 也 是 读 fi。 现 在 通 过 《 汉 语 方 言 地 图 集 ·157飞 止 合 三 的 韵 母 》 [9]157 可 以 知 道 , 这 样 的 读 音 除 了 遍 布于 东 南 诸 方 言 外 , 中 间 隔 开 南 方 官 话 , 正 好 通 行 在 从东 到 西 的 大 中 原 官 话 区 。 [14]从 音 理 上 说 ,f 和 v 之 后 紧 跟 i,f、v 就 非 要 缩 小开 口 度 不 行 。 缩 小 开 口 度 的 结 果 , 舌 面 与 上 颚 接 近 ,气 流 摩 擦 就 会 加 大 , 结 果 就 容 易 转 成 别 的 音 。fi 在秦 晋 很 多 方 言 里 读 成 xi[i], 如 :万 荣 : 飞 肥 费 [i] [15]16合 阳 : 飞 肥 费 [i] [16]120fi 变 成 xi[i], 与 它 相 对 的 浊 音 就 会 变 成 [i]>i。可 能 不 可 能 呢 ? 无 巧 不 成 书 ,《 中 原 音 韵 · 作 词 起例 》 在 批 评 诸 方 语 病 时 留 下 了 这 样 的 记 录 :“ 羊 尾 子为 羊 椅 子 , 吴 头 楚 椅 , 可 乎 ?” 可 见 , 那 个 时 候 的 “ 尾巴 ” 已 经 读 “i” 了 。《 中 原 音 韵 · 作 词 起 例 》 在 这 一条 的 后 面 还 有 一 条 :“‘ 来 也 未 ’ 为 ‘ 来 也 异 ’, 辰 巳 午异 , 可 乎 ?” 可 见 当 时 还 不 止 “ 尾 ” 一 个 字 , 而 是 一 种90演 变 条 例 。 站 在 规 范 立 场 上 的 周 德 清 对 此 自 然 是 不能 允 许 的 。 也 许 当 时 大 都 ( 北 京 ) 话 口 语 已 经 读“i”, 周 德 清 和 他 的 知 己 一 起 嘲 弄 俗 音 。 也 许 当 时 只是 中 原 官 话 的 读 音 , 北 方 官 话 还 没 有 这 样 读 , 周 德 清站 在 北 方 官 话 的 立 场 上 痛 斥 他 听 到 的 这 样 的 音 ———我 希 望 是 这 样 , 因 为 大 家 知 道 , 我 是 主 张 《 中 原 音韵 》 是 大 都 话 即 北 京 话 的 , 如 此 , 这 一 条 也 就 成 了 周德 清 站 在 大 都 话 的 立 场 上 反 对 中 原 官 话 的 证 据 。当 然 , 如 果 有 方 言 把 唇 音 声 母 的 字 读 作 ü[y]韵 母 , 那 也 不 奇 怪 , 也 就 是 它 顾 全 了 “ 支 微 入 鱼 ” 的大 局 , 如 果 把 “ 尾 ” 也 读 成 ü[y], 那 就 弥 足 珍贵 了 。 2[16] [ 参 考 文 献 ][1] 王 力 . 汉 语 语 音 史 [M]. 北 京 : 中 国 社 会 科 学 出 版社 ,1985.[2] 刘 勋 宁 . 一 个 中 原 官 话 中 曾 经 存 在 过 的 语 音 层 次 [J]. 语文 研 究 ,2005(1).[3] 刘 勋 宁 .《 中 原 音 韵 》 微 薇 维 惟 解 [M]∥ 语 言 学 论 丛 : 第15 辑 . 北 京 : 商 务 印 书 馆 ,1988.[4] 刘 勋 宁 . 现 代 汉 语 研 究 [M]. 北 京 : 北 京 语 言 文 化 大 学 出版 社 ,1998.1 举 例 来 说 ,“ 酵 ” 字 读 半 边 , 许 多 人 读 xiào, 可 是 农 村蒸 馒 头 的 “ 酵 子 ” 仍 读 jiào。 现 在 大 家 不 蒸 馒 头 了 , 偶 然 蒸 一次 , 用 “ 发 酵 粉 ” 又 照 半 边 字 念 成 xiào 了 。 最 有 意 思 的 是 “ 校对 ”“ 校 正 ”, 我 已 经 听 不 少 人 甚 至 大 学 者 也 念 “xiào”, 可 是 ,有 一 次 我 跟 一 位 农 妇 说 , 你 的 这 升 子 用 了 多 年 , 还 准 吗 ? 她回 答 “ 这 是 jiào 了 的 。” 我 这 才 知 道 , 农 村 也 有 校 量 器 的 制度 。2 本 文 采 取 的 官 话 方 言 分 类 是 作 者 的 分 类 表 。 有 人 把作 者 和 中 国 社 会 科 学 院 语 言 研 究 所 李 荣 先 生 的 分 类 综 合 制成 一 张 表 , 发 表 在 维 基 百 科 的 “ 南 方 官 话 ” 条 下 。 表 如 下 :方 言 分 区 表刘 勋 宁 分 区 李 荣 分 区 古 清 音 古 次 浊 古 全 浊胶 辽 官 话 上 声东 北 官 话 派 入 四 声 , 上 声 较 多北 方 官 话去 声北 京 官 话 派 入 四 声阳 平冀 鲁 官 话 阴 平中 原 官 话阴 平中 原 官 话兰 银 官 话去 声西 南 官 话 阳 平 ( 或 保 留 、 阴 平 、 去 声 )南 方 官 话江 淮 官 话保 留有 了 这 张 表 , 作 者 和 李 先 生 的 分 类 特 点 及 其 区 别 一 目 了 然 。需 要 注 意 的 是 , 我 们 “ 中 原 官 话 ” 的 名 称 虽 同 而 内 涵 不 同 , 在需 要 区 别 的 时 候 , 本 文 分 别 称 之 为 大 中 原 官 话 和 小 中 原 官话 。 另 外 , 本 文 的 北 方 官 话 也 与 传 统 的 “ 北 方 官 话 ” 概 念 不同 , 请 留 意 。


[5] 王 军 虎 . 西 安 方 言 词 典 [M]. 南 京 : 江 苏 教 育 出 版社 ,1996.[6] 刘 勋 宁 .“ 多 元 一 极 ” 模 式 与 中 国 的 语 言 社 会 [J]. 中 国社 会 语 言 学 ,2004(2).[7] 张 崇 . 陕 西 方 言 词 汇 集 [M]. 西 安 : 西 安 交 通 大 学 出 版社 , 西 安 外 语 音 像 教 材 出 版 社 ,2007.[8] 孙 立 新 . 陕 西 方 言 纵 横 谈 [M]. 北 京 : 华 夏 文 化 出 版社 ,2000.[9] 曹 志 耘 . 汉 语 方 言 地 图 集 [M]. 北 京 : 商 务 印 书 馆 ,2008.[10] 刘 勋 宁 . 中 原 官 话 与 北 方 官 话 的 区 别 及 《 中 原 音 韵 》 的语 言 基 础 [J]. 中 国 语 文 ,1998(6).[11] 刘 勋 宁 . 说 《 中 原 音 韵 》 的 萧 豪 分 韵 [M]∥ 言 语 文 化 论集 , 第 41 号 ,1994.[12] 丁 邦 新 . 一 百 年 前 的 苏 州 话 [M]. 上 海 : 上 海 教 育 出 版社 ,2003.[13] 刘 勋 宁 . 文 白 异 读 与 语 音 层 次 [J]. 语 言 教 学 与 研 究 ,2003(4).[14] 刘 勋 宁 . 再 论 汉 语 北 方 话 的 分 区 [J]. 中 国 语 文 ,1995(6).[15] 吴 建 生 . 万 荣 方 言 志 [M]. 山 西 省 社 会 科 学 院 语 言 研 究室 ,1984.[16] 邢 向 东 , 蔡 文 婷 . 合 阳 方 言 调 查 研 究 [M]. 北 京 : 中 华 书局 ,2010.[ 责 任 编 辑 杜 敏 ]GeographicalDistributionofandAtributiveReasonsfor“ 支 微 入 鱼 ”———ACodiscusionofthePhonologicalVariationof[y]intheOficialSpeechinCentralChinaLIUXunning(MeikaiUniversity,Japan)Abstract:Shaanxidialectspreserveaseriesofthevowelu,whichdiferssignificantlyfrom Putonghua.PronunciationsofthissortwereactualyforformerreadingsintheoficialspeechincentralChina.WiththeraiseoftheoficialspeechinnorthernChinarepresentedbyBeijingspeech,however,thesepronunciationshavebecomepreciousphonologicalrelicsoftheChineselanguage.Asarule,dialectalpronunciationsarealiveonlyoraly,otherwisetheymightdiewithoutrecording.IfthepeopleofShaanxitreasurethesephonologicalrelicsoftheirown,theyshouldrecordthesepreciouspronunciationsandhandthemdowntolatergenerations.KeyWords: oficialspeech in centralChina; oficialspeech in northern China; Shaanxidialects;Putonghua;pronunciation91

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!