当前位置:文档之家› luasocket学习ltn12中文版

luasocket学习ltn12中文版

luasocket学习ltn12中文版
luasocket学习ltn12中文版

Filters, sources and sinks: d esign, motivation and examples or Functional programming for the rest of us

by DiegoNehab

应用程序有时有太多的信息需要在内存处理,即使现在已经有足够的内存,也会被迫把数据分成小部分处理。,以原子方式处理所有数据可能需要很长的时间,这妨碍了用户与应用程序交互。复杂的数据转换往往可以被定义为一系列简单的操作。几个不同的复杂的转换可以共享相同的更简单的操作,因此,定义一个统一的接口,把他们组合起来,是很好的处理方法。以下概念构成我们对这些问题的解决方案。

Filters是一些函数,接受连续块的输入,并产生连续的输出块。此外,连接所有的输出数据作为输入数据的级联filter应用的结果是相同的。因此,边界是无关紧要的:Filters必须处理由用户任意分割的输入数据。

chain是一个函数,将两个(或更多)的函数连接起来,但其接口和其他函数组件的接口没有什么区别。因此,链式Filters可用于任何一个可以使用原子Filter的地方。然而,其对数据的影响是其组成的filters的综合效果。请注意,chain可以连接其他的chain,创建任意复杂的操作,而像原子操作那样使用。

Filter可以被看作是通过它的数据流在网络内部的节点,并且可能根据不同的filter 对数据进行转换。把这些节点链接起来,组成完整的网络数据流图。为此我们需要添加初始和最终的网络节点,分别是source和sink。具体来说,source是一个函数,每次调用时产生新的数据。相应的,sink函数是接收到的数据的最终目的地。source和sink可以使用chain和filter相连。

总的来数,Filter,chain,source和sink,都是被动的实体:他们需要被重复调用以便使系统运行起来。Pumps提供了推动数据流过网络的动力,从一个source到一个sink。

我们希望,通过例子使这些概念将变的清晰。在下面的章节中,我们从一个简单的接口开始,不断的完善这个接口,直到没有明显的缺点。我们做出的演化不是人为强制的:它按部就班,巩固了我们对这些概念的理解。

1 一个具体的例子

一些数据转换操作容易用Filter方式来实现,比如行结束的文本标准化,Base64和Quoted-Printable传输内容的编码,把文本切分成行,SMTP字节填充等等。

我们将要定义第一个filter接口,“行结束符标准化”。稍后我们讨论为什么实现起来并不容易。

假设我们得到一个文本,含有未知的行结束符,比如常见的Unix(LF)的Mac操作系统(CR)和DOS(CRLF)(包括可能的混合情况)。我们希望能够编写如下代码:

input = source.chain(source.file(io.stdin), normalize("\r\n"))

output = sink.file(io.stdout)

pump(input, output)

这个程序从标准输入流中读取数据和行结束标记,用CRLF(MIME标准定义的标记)标准化,最后将结果发送到标准输出流。为此,我们使用一个标准输入:stdin,一个Filter:normalize,组成chain。然后执行pump调用,不断从stdin 获取数据,并将其输送到sink:标准输出。

为了使讨论更具体,我们从讨论如何实现一个标准化Filter开始,这个normalize 是一个函数,它用于创建一个filter功能。我们初步的filter接口如下:filter接收输入数据块,并返回处理的数据块。在没有更多的输入数据时,用户通知filter,用nil作为参数来调用它。filter返回最后的数据块。

虽然接口极其简单,实现似乎并不那么简单明确。任何遵守此接口的过滤器需要保持某种在调用之间的上下文。这是因为数据块可以越过标记一行的末尾之间的CR 和LF字符。这个上下文存储的需求,促成了工厂函数的使用:每个工厂函数被调用时,返回一个filter,具有它自己的上下文,如此使我们可以在同一时间得到多个独立的filter。对于这个normalize filter,我们意识到,简单明了的解决方案是不够的(例如,在产生任何输出之前,把所有输入连接起来放入上下文中),我们将不得不寻找另一种方式。

我们将实现分为两部分:一个低级别的filter,和一个高级别的filter工厂。低级别的filter将在C实现,不会携带任何函数调用之间的上下文。高级别filter的工厂,在Lua中实现,filter工厂将创建并返回高级别的filter,它为低级别的filter提供上下文,但其内部细节对用户隔离。这样,我们利用C的效率优势,进行底层工作,利用lua的简单性做上下文记录。

1.1 Lua 部分的实现

function filter.cycle(low, ctx, extra)

return function(chunk)

local ret

-- ctx上下文只对low底层filter有用处,每次调用通过返回值更新

ret, ctx = low(ctx, chunk, extra)

-- 返回处理结果nil表示处理完毕,没有更多数据了

return ret

end

end

function normalize(marker)

return cycle(eol, 0, marker)

end

normalize工厂函数只是简单地调用一个更加通用的名叫cycle的工厂。这个工厂接收一个低级别的filter,一个初始上下文和一些额外的值,并返回相应的高级别filter。高级别Filer使用一个新的数据块作为参数被调用,它调用低级别的过滤器,传递上一次的上下文,新的数据块和额外的参数。低级别的Filer生成处理过的数据块和一个新的上下文。最后,高级别Filer更新其内部上下文,返回处理过数据块给用户。低级别的过滤器完成了所有的工作。请注意,这个实现,利用了Lua5.0词法作用域规则,在函数调用之间存储本地上下文。

思考一下这个低级别的filter,我们注意到行结束标记标准化问题本身没有完美的解决方案。困难来自一个空行定义,它固有的模糊性。然而,以下的解决方案非常适用于任何情况的输入,以及混合输入的非空行。它作为一个很好的例子,如何实现一个低级别的过滤器。

这是我们所做的:CR和LF被认为是换行符的候选字符。我们认为这样得到得到一个结束标记:如果候选字符是单独的一个,或后面跟着一个不同的候选字符。也就是说,CRCR和LFLF被认为是两个行结束标记,但CR LF和LFCR的被认为只是一个结束标记。这个方法可以照顾到Mac OS,Mac OS X,VMS和Unix,DOS和MIME,以及其他可能更晦涩的约定的系统。

1.2 C部分实现

低级别的filter划分为两个简单的函数。内部函数完成实际的转换,他判断每一个输入字符,并决定了输出什么,以及如何修改上下文。上下文告知最后一个字符是否是候选字符,若是,是哪个候选字符。

#define candidate(c) (c == CR || c == LF)

static int process(int c, int last, const char *marker, luaL_Buffer *buffer) { if (candidate(c)) {

if (candidate(last)) {

//相同候选字符,添加一个标准化maker(CRLF)返回非换行符0

if (c == last) luaL_addstring(buffer, marker);

return 0;

} else {

//不同候选字符,添加一个标准化maker(CRLF)返回是当前换行符字符luaL_addstring(buffer, marker);

return c;

}

} else {

//不是候选字符,读入这个字符,返回非换行符0

luaL_putchar(buffer, c);

return 0;

}

内部函数使用Lua的辅助库的缓冲接口,带来了效率和易用性。外部函数简单地使用Lua交互接口。它接收上下文和输入数据块(以及一个可选的行结束标记),并返回转换后的输出和新的上下文。

static int eol(lua_State *L) {

--上下文表示得到的最后一个换行符是什么,CR,LF,或者非换行符(用0表示)int ctx = luaL_checkint(L, 1);

size_t isize = 0;

const char *input = luaL_optlstring(L, 2, NULL, &isize);

const char *last = input + isize;

const char *marker = luaL_optstring(L, 3, CRLF);

luaL_Buffer buffer;

luaL_buffinit(L, &buffer);

if (!input) {

-- 输入块为nil,重置ctx为nil,返回上次的字符为0,表示非换行符

lua_pushnil(L);

lua_pushnumber(L, 0);

return 2;

}

while (input < last)

-- 逐个字符读入判断,进行标准化

-- ctx 表示上一次读入的字符,CF,LF,非换行符用0表示

ctx = process(*input++, ctx, marker, &buffer);

luaL_pushresult(&buffer);

lua_pushnumber(L, ctx);

return 2;

}

请注意,如果输入块是nil,操作将被视为完成。在这种情况下,循环将不会执行并且上下文被重置到初始状态。这使得过滤器可以被被无数次重用。这是一个不错的主意,如果可能就像这样写过滤器。

除了行结束标准化如上所示的过滤器,许多其他过滤器可以按照同样的思路实现。比如Base64和Quoted-Printable的内容传输编码,文本断行,SMTP字节填充等。具有挑战性的部分是决定用什么作为上下文。例如文本断行,它可能是留在当前行的字节数。比如Base64编码,它可能是在输入字节中以3个字节为单位进行分割的字节串。

2 链接起来

chain的概念引入后,Filer变得更加强大。假设你有一个Quoted-Printable编码的Filer,你要编码一些文字。根据要求,文本必须在编码前标准化为标准范式。简化任务的一个很好的接口是创建一个工厂,工厂创建一个组合过滤器,数据经过多个过滤器进行传递,同时还可以作为一种最初的简单过滤器来使用。

local function chain2(f1, f2)

return function(chunk)

local ret = f2(f1(chunk))

if chunk then return ret

else return ret ... f2() end –这里使用...有问题,看做是伪码

end

end

function filter.chain(...)

local f = arg[1]

for i = 2, table.getn(arg) do

f = chain2(f, arg[i])

end

return f

end

local chain = filter.chain(normalize("\r\n"), encode("quoted-printable"))

while 1 do

local chunk = io.read(2048)

io.write(chain(chunk))

if not chunk then break end

end

chain的工厂是非常简单的。它的作用是返回一个函数,这个函数把数据传递通过所有的filter,并将结果返回给用户。它使用简单的辅助函数,知道如何链接两个过滤器。如果是最后的数据块在辅助函数中需要特别留意。这是因为,最后的数据块通知,必须通过两个filter反过来推动。有了chain工厂就很容易执行Quoted-Printable的转换,如上面的例子所示。

3 Sources, sinks, and pumps

正如我们在前言介绍中所说,到目前为止,我们介绍的filters的功能就像是一个在传输网络内部的节点。数据从一个节点流过另一个节点(或者更准确的说是从一个filter流入另一个filter),最终流出。把filters链接在一起就是把节点连接成网络。但是最终的节点呢?在网络的开始,我们也需要一个用于提供数据源的节点。在网络末端我们需要一个节点获得数据,这就是sink。

Sources

让我们从2个简单的soruce开始。第一个是空source:他简单的返回空数据,可能返回一个错误消息。第二个是文件source,以一块一块数据块的方式从一个文件中产生数据,结束时关闭文件句柄。

function source.empty(err)

return function()

return nil, err

end

end

function source.file(handle, io_err)

if handle then

return function()

local chunk = handle:read(2048)

if not chunk then handle:close() end

return chunk

end

else return source.empty(io_err or"unable to open file") end

end

一个source每次调用时返回的下一个数据块。当有没有更多的数据时返回nil。如果有错误,source可以返回nill和一个错误消息。阿德里安发现,虽然不是刻意为之,source接口与Lua5.0的迭代器的思想兼容。也就是说,数据source可以很好地与循环结合使用。把文件源作为一个迭代器,重写第一个例子:

local process = normalize("\r\n")

for chunk in source.file(io.stdin) do

io.write(process(chunk))

end

io.write(process(nil))

注意filter最后一次调用获得最后处理过的数据块。循环结束时source返回了nil。因此我们需要在循环外最后再调用一次。

4 在调用之间保持状态

通常情况下,source在某些事件发生后,需要改变自己的行为。一个简单的例子是,一个文件source,当到达文件末端时,无论他被调用多少次都必须保证返回nil。从而避免读取超过文件末端。

实现这种source的方式是创建一个工厂,带有一个额外的状态变量。source可以通过词法作用域使用它。在检测到到达文件末端时,文件source可以设置自己的文件句柄为nil。此后所有的source被调用时都检查句柄是否有效,做出响应操作。

function source.file(handle, io_err)

if handle then

return function()

if not handle then return nil end

local chunk = handle:read(2048)

if not chunk then

handle:close()

handle = nil

end

return chunk

end

else

return source.empty(io_err or"unable to open file")

end

end

另一个实现方式是改变source的接口,让它更灵活一些。允许source返回一个数据块之外的第二个值。如果返回的数据块是nil,额外的值告诉我们发生了什么。第二个nil表示没有数据了,source已经空了。其他的取值可以是一个错误信

息。另一方面,如果数据块不是nil,第二个返回值表示source是否需要更换。如果第二个返回值不是nil,继续使用同一个source,否则这就是另一个source,我需要获取剩下的数据。

这个额外的自由对于编写source函数的人来说是很好的。但是对使用它的用户来说有困难。幸运的是,下面的fancy source能够把它转化成简单的source,并不需要替换,使用下面这个工厂:

function source.simplify(src)

return function()

local chunk, err_or_new = src() --或者是新的src返回,否则返回同样的src

-- 注意无论怎样src都返回一个src,要不是错误的src,要不是新的src,或者是原来的src

src = err_or_new or src –更新自身

if not chunk then return nil, err_or_new –chunk为空,返回错误的或者新的src

else return chunk end

end

end

这个简化转换工厂允许我们编写一个fancy source,却使用简单source来实现。因此,接下来的函数只是产生一个简单source,接受source的函数认为他是一个简单source。

回到文件source的例子,接口的扩展带来了更优雅的实现。在没有数据时,这个新的source替换为一个空source,不需要反复检查句柄了。

function source.file(handle, io_err)

if handle then

return source.simplify(function()

local chunk = handle:read(2048)

if not chunk then

handle:close()

return"", source.empty()

end

return chunk

end)

else

return source.empty(io_err or"unable to open file")

end

end

如果我们使用coroutine协程,lua5.0的新特性,这个方法可以更强大。协程的资料比较少,就像一个词法作用域,协程起初看起来很怪,但是一旦你适应了这个概念,可以节省你的大量时间。我得承认使用协程来实现file source是多余的。下面来看如何实现一个链接source的工厂

function source.cat(...)

local co = coroutine.create(function()

local i = 1

while i <= table.getn(arg) do

local chunk, err = arg[i]()

if chunk then coroutine.yield(chunk)

elseif err then return nil, err

else i = i + 1 end

end

end)

return function()

return shift(coroutine.resume(co))

end

end

这个工厂创建了2个函数,第一个是一个辅助函数,以协程的方式完成了所有的工作。它从一个source中读取一个数据块。如果数据块是nil,移动到下一个source,否则它调用yield返回数据块。第二个函数是source自身,只是调用resume执行辅助的协程,无论返回怎样的数据块都返回给用户(跳过了第一个返回值,这个值告诉我们协程是否已经终止)。思考一下,当你编写同样的函数而不是用协程,你就会体会到如此实现的简单性。在我们要把filter接口变得更加强大时,将要再次使用协程。

5 链接source

用filter链接一个source意味着什么?最有用的解释是链接source-filter后形成一个新的source。source产生数据在返回前传递给filter,这里的工厂例子:function source.chain(src, f)

return source.simplify(function()

local chunk, err = src()

if not chunk then return f(nil), source.empty(err)

else return f(chunk) end

end)

end

考虑一个函数,从一个source获得输入数据。通过链接一个简单的source跟着一个或者多个filter。这个相同的函数能够得到处理过的数据,无需考虑这个数据是通过背后的filter得到的。

6 sinks

正如我们定义了最初的source接口,同样我们定一个sink接口。把所有遵循接口的函数称为sink。下面2个简单的工厂返回了sink。table工厂创建了一个sink 表,保存了所有获得的数据。这些数据之后能有效的链接成一个单一的string,调用table.concat库函数即可。另一个例子介绍了一个空sink,直接丢弃接受到的数据。

function sink.table(t)

t = t or {}

local f = function(chunk, err)

if chunk then table.insert(t, chunk) end

return 1

end

return f, t

end

local function null()

return 1

end

function sink.null()

return null

end

sink 接受连续的数据块直到数据结束,通过返回一个nil块表示。错误通过额外的参数返回,在nil数据块之后跟随一个错误消息。如果一个sink检测到一个自身的错误,并且不准备被再次调用,应该返回nil,之后的错误消息是可选的。非nil的返回值表示source将会接受更多的数据。最后,正如source可以选择被替换,sink也可以,只要接口一致。同样的,实现一个sink.simplify工厂是很简单的。可以用它转换一个fancy sink变成一个简单的sink。

作为一个例子,创建一个source从标准输入读取数据,链接到一个标准化行结束转换的filter,使用一个sink把所有数据放到一个表中,最后打印出来。

local load = source.chain(source.file(io.stdin), normalize("\r\n"))

local store, t = sink.table()

while 1 do

local chunk = load()

store(chunk)

if not chunk then break end

end

print(table.concat(t))

有一次,正如我们用source和filter创建一个链接source-filter的工厂,很容易用sink和filter创建一个工厂产生新的sink。这个新的sink在调用原始的sink之前,通过filter处理所有的接受到的数据。如此实现:

function sink.chain(f, snk)

return function(chunk, err)

local r, e = snk(f(chunk))

if not r then return nil, e end

if not chunk then return snk(nil, err) end

return 1

end

end

7 Pumps

在我们的例子中一直存在一个循环,到目前为止我们设计的东西都是被动式的,因此每次都有这个循环,Sources, sinks, filters:没有一个是靠它们自己工作的。把数

据从source推送到sink的工作是一个普遍的要求,我们将提供2个辅助函数来做这些工作。

function pump.step(src, snk)

local chunk, src_err = src()

local ret, snk_err = snk(chunk, src_err)

return chunk and ret and not src_err and not snk_err, src_err or snk_err

end

function pump.all(src, snk, step)

step = step or pump.step

while true do

local ret, err = step(src, snk)

if not ret then return not err, err end

end

end

pump.step 函数把一个数据块从source传递到sink。pump.all 函数调用一个可选的step函数,调用step函数推送所有的数据到sink。现在使用所有的东西,编写一个程序。使用Base64编码方式,从磁盘的二进制文件中读取数据保存到另一个文件中。

local load = source.chain(

source.file(io.open("input.bin", "rb")),

encode("base64")

)

local store = sink.chain(

wrap(76),

sink.file(io.open("output.b64", "w")),

)

pump.all(load, store)

我们切分的filter并不符合直觉,是人为故意的。作为一种选择,我们可以把Base64编码filter和行包裹filter链接起来,然后链接这个复合filter到文件source或者文件sink上,这无关紧要。

8 最后的重要变更

事实证明我们依然有一个问题,David Burgess编写了一个gzip filter,他发现解压filter把一个小的输入数据扩大为大量的数据。虽然我们希望可以忽视这个问题,但是得承认不可以。唯一的解决方式是允许filter返回部分结果,这也是我们选择的方法。在调用这个filter处理输入数据之后,用户不得不循环调用这个filter 询问是否还有更多的输出。注意这些额外的调用不能把更多的数据发送到filter。更加特殊的情况是,传递一个输入数据块到filter之后搜集第一个输出数据块。用户重复调用filter,传递空字符串,获得额外的输出数据块。当filter自身返回一个空串时,用户知道没有输出数据了,然后接着处理下一个输入数据块。最后,在用户传递一个nill告知filter没有更多的输入数据了,filter仍然会在一个数据块中返

回产生很多输出数据。用户不得不再次循环调用,这次每次传递的是参数nil。直到filter返回了nil用户才能确定处理完毕。

大多数的filter不需要这些额外的灵活性。很幸运,这个新的filter接口也容易实现。实际上在创建行终结转换filter的时候,就已经满足要求。另一方面,如果不使用协程,串联函数会变得更加复杂。我都不想实现它。如果你知道一个简单的不使用协程实现请一定告诉我!

local function chain2(f1, f2)

local co = coroutine.create(function(chunk)

while true do

local filtered1 = f1(chunk)

local filtered2 = f2(filtered1)

local done2 = filtered1 and""

while true do

if filtered2 == ""or filtered2 == nil then break end

coroutine.yield(filtered2)

filtered2 = f2(done2)

end

if filtered1 == ""then chunk = coroutine.yield(filtered1)

elseif filtered1 == nil then return nil

else chunk = chunk and""end

end

end)

return function(chunk)

local _, res = coroutine.resume(co, chunk)

return res

end

end

串联source同样变得更加复杂。一个相似的解决方式还是协程。串联sink仍然简单。有趣的是这些修改对于filter的性能没有不好的影响,无需添加额外的弹性。有人对类似gzip的filter做了严格的优化,这也是为何我们保留了它们。

9 注意事项

我们在开发Luasocket2.0过程中的提出了这些概念,实现在模块LTN12中。结果是大大简化了Luasocket的实现,还变得更加强大。MIME模块特别整合进入了LTN12,提供了很多其他的filter。我们感觉到这些概念值得公开,即使是那些不关心luasocket的人。

另一个值得一提的是“标识filter”。假设你想提供一些反馈给用户,当一个文件下载传递到一个sink的时候。把一个“标识filter”和这个sink串联(这个filter

简单的返回接受到的数据不改变数据)。你能够在这期间更新进度。这个原始的sink没有被改变。另一个有趣的主意是一个T形的sink:一个sink发送数据到2个其他的sink。总的来说,好像还有足够的空间讨论其他有趣的点子。

在这篇技术文件中,我们介绍了filters, sources, sinks, and pumps。对于数据处理来说这些都是有用的工具。source为数据获取提供了简单的抽象。sink为最后

的数据终点提供了抽象。filter为数据转换定义了接口。filter,source,sink 的chain串联提供了优雅的方式去从简单的转换创建任意复杂的数据转换。pumps让流程运行起来。

初学者说明

Simple sources

function source()

-- we have data

return chunk

-- we have an error

return nil, err

-- no more data

return nil

end

Simple sinks

function(chunk, src_err)

if chunk == nil then

-- no more data to process, we won't receive more chunks

if src_err then

-- source reports an error, TBD what to do with chunk received up to now

else

-- do something with concatenation of chunks, all went well end

return true-- or anything that evaluates to true

elseif chunk == ""then

-- this is assumed to be without effect on the sink, but may

-- not be if something different than raw text is processed

-- do nothing and return true to keep filters happy

return true-- or anything that evaluates to true

else

-- chunk has data, process/store it as appropriate

return true-- or anything that evaluates to true

end

-- in case of error

return nil, err

end

Pumps

ret, err = pump.step(source, sink)

if ret == 1 then

-- all ok, continue pumping

elseif err then

-- an error occured in the sink or source. If in both, the sink

-- error is lost.

else-- ret == nil and err == nil

-- done, nothing left to pump

end

ret, err = pump.all(source, sink)

if ret == 1 then

-- all OK, done

elseif err then

-- an error occured

else

-- impossible

end

Filters not expanding data

function filter(chunk)

-- first two cases are to maintain chaining logic that

-- support expanding filters (see below)

if chunk == nil then

return nil

elseif chunk == ""then

return""

else

-- process chunk and return filtered data

return data

end

end

Fancy sources

The idea of fancy sources is to enable a source to indicate which other source contains the data from now on.

function source()

-- we have data

return chunk

-- we have an error

return nil, err

-- no more data

return nil, nil

-- no more data in current source, but use sourceB from now on

-- ("" could be real data, but should not be nil or false) return"", sourceB

end

Transforming a fancy source in a simple one:

simple = source.simplify(fancy)

Fancy sinks

The idea of fancy sinks is to enable a sink to indicate which other sink processes the data from now on.

function(chunk, src_err)

-- same as above (simple sink), except next sinkK sink

-- to use indicated after true

return true, sinkK

end

Transforming a fancy sink in a simple one:

simple = sink.simplify(fancy)

Filters expanding data

function filter(chunk)

if chunk == nil then

-- end of data. If some expanded data is still to be returned return partial_data

-- the chains will keep on calling the filter to get all of

-- the partial data until the filter return nil

return nil

elseif chunk == ""then

-- a previous filter may have finished returning expanded

-- data, now it's our turn to expand the data and return it

return partial_data

-- the chains will keep on calling the filter to get all of

-- the partial data until the filter return ""

return""

else

-- process chunk and return filtered data, potentially partial.

-- In all cases, the filter is called again with "" (see above) return partial_data

end

end

语用学思考题最后版

第一章 1、什么是语用学?P14它探索的主要现象有哪些?P16主要有哪些理论?(莫里斯研究符号理论/奥斯汀和塞尔的言语行为理论/关联理论/格赖斯的会话含义理论/新格赖斯会话含义理论) 2、字面意义和语境意义有何区别?请举例说明?P17 3、语用学和语言学的其他分支学科是什么关系?P9 4、语用学有哪三类研究方法?P15 5、语用学的研究内容主要包括哪些方面?P15-16 第二章 1、什么是语境?P22 2、波兰籍人类语言学家马林诺夫斯把语境分为哪两类?P18 3、“伦敦学派”的创始人弗思提出了什么语境理论?P18-19 4、索振羽主张语境要研究哪些内容?P23 5、研究语境有何理论意义和实用意义?P37-38 第三章 1、英语“deixis“有哪些汉译?应该翻译成什么比较确切?P39 2、什么是指示语和指示信息?P39 3、指示语包括哪些主要类别?各类指示语在话语中传达什么样的指示信息?P42-53 ①人称指示语P43 ②时间指示语P45 ③地点指示语P47 ④话语指示语P48 ⑤社交指示语P51 4、举例说明是地点指示语的手势用法。P47 5、为什么说“我们”这一第一人称指示语也具有社交指示语的双重交际功能?举例以说明。 “我们”:人称指示语、社交指示语 语用移情的社交指示功能,缩短主持人和听众之间在现时语境中的社交距离,改善社交关系,有利于推进言语交际, 例:①我们是学生,我们的主要任务是学习。 语用功能:批评、劝诫,移情,从学生角度出发,提高该话语的可接受性与劝说力 ②我们认为,语用学与社会语言学之间存在很多交叉现象。 语用功能:仅指作者本人,不包括读者在内的其他人,与读者商榷的语气,表明谦虚,有助于提高其所指内容的可接受性、认同性。 6、举例说明“来”和“去”的内在指示意义。P48-49 7、照应和指别有何区别?P53 8、举例说明第三人称代词既有照应功能,又有指别功能。 如:①我和杨老师是好朋友,我们志趣相投.②你和汤姆是同屋,你们应该互相帮助。例①中的第一人称代词“我们”和例②中的第二人称代词“你们”都有照应功能。既起照应功能,又起指别功能。③她乖得很,是我们么儿。例③是一个给她邻居介绍自己的宠物狗的年轻女人说的话,这里的“她”起的是纯粹的指别功能。 第四章 1、什么叫会话含义?P54为什么要研究会话含义? 是由美国语言哲学家格赖斯(H.P.Grice)首先提出来的,是语用学的核心内容,在言语交际中起着非常重要的作用。 交际中,很多信息不是直接传递的。说话人通过某一话语传递的语用信息并非等于该话语的字面意义或语义组合。听话人根据相关语境因素进行推理,获取字面意义以外的交际信息(隐含的语用信息,言外之意)。这种字面以外的信息就是一种隐含的语用信息,简称“含意”。它是一种言外之意、弦外之音。在言语交际中,类似的字面意义或语义意义以外的隐含信息就是我们要讨论的会话中的含义,即会话含义,也就是语用含义。本质上是一种关于人们如何运用语言的理论,不是从语言系统内部(语音、语法、语义等)去研究语言本身表达的意义,而是依据语境研究话语的真正含义,解释话语的言外之意。会话含义关注的不是说话人说了些什么,而是说话人说这句话可能意味着什么。

北语语用专业00-15年初试真命题(语言知识学习学概论)

北京语言大学语用专业00--15年语言学概论考研真题 2015年 1.名词解释—自源文字,组合关系,语境义,语义场,形态,音质音位 2.判断并说明理由 (1)组合,聚合关系不仅仅存在于语法中。 (2)每一种语言或方言中的音位都处于双向聚合群中。 (3)语素和词不仅是词汇单位,也是语法单位。 (4)地域方言和社会方言的差别只表现在词汇系统中。 3.分析题 (1)写出普通话中a的四个音位变体,并分析这四个音位变体是如何产生。 (2)方言根据不同的角度可以分为哪些类型?并分析随着社会的发展,地域方言会有什么发展趋势。 (3)什么是借词?根据下面的例子归纳借词的类型。剑桥,茶道,啤酒,基因,俱乐部,克隆,罗曼蒂克,CPU,霓虹灯 (4)分析下列“老”和“子”哪些属于词根语素,哪些属于词缀语素 老板,老鹰,老汉,老式,老化,老公 孩子,电子,棋子,模子, (5)用层次分析法分析句子,并分析"V在"划分的理由 我和哥哥确实都生在河北石家庄。 我的老板王立出生在首都北京。

4.简答题 (1)区别特征是不是等同于发音特征?如何确定具体某个辅音音位的区别特征? (2)什么是词缀?什么是词尾?说说它们之间的主要区别。 (3)什么是变换分析?用具体例子说明如何用变换分析消解多义结构。 5.论述题 (1)以一个具体语言为例说明语言中语法演变的具体表现。 (2)什么是语言换用和底层遗留?说明底层遗留产生的原因以及具体体现。 2014年 语言学概论 一、名词解释并举例。 社会方言地域方言语义特征语义指向音素音位 表音素文字表音位文字单纯词合成词组合关系聚合关系 同化异化隐喻换喻 二、选择 1、语言层次的上层包括 A、音位、语素、词语、短语 B、音位、语素、词语 C、音素、语素、词语 D、语素、词语、短语、句子 2、波浪理论提出者A A、施密特 B、葆朴 C、 D、 3、辅助性交际工具有B

《语言学教程》中文笔记(完整)

语言学教程笔记 第一章语言学导论 语言的定义特征:从本质上将人类语言与动物语言区分开的人类语言的区别性特点。 1. 任意性:任意性是指语言符号的形式与所表示的意义没有天然的联系,任意性是语言的核 心特征。例如,我们无法解释为什么一本书读作 a /buk/,一支钢笔读作a /pe n/。 任意性具有不同层次:(1)语素音义关系的任意性。(2)句法层面上的任意性。 (3) 任意性和规约性。 2. 二层性:二层性是指拥有两层结构的这种特性,上层结构的单位由底层结构的元素构成, 每层都有自身的组合规则。话语的组成元素是本身不传达意义的语音,语音的唯一作用就是 相互组合构成有意义的单位,比如词。因为底层单位是无意的,而上层单位有明确的意义,所以我们把语音叫做底层单位,与词等上层单位相对。二层性使语言拥有了一种强大的能产 性。 3. 创造性:创造性指语言的能产性,指语言有制造无穷长句的潜力,这来源于语言的二层性 和递归性。利用二重性说话者可以通过组合基本语言单位,无止境地生成句子,大多数都是以前没有过的或没有听过的。 4. 移位性:是指人类语言可以让使用者在交际时用语言符号代表时间上和空间上并不可及的 物体、时间或观点。因此我们可以提及孔子或北极,虽然前者已经去世两千五百五十多年而 后者位置距我们非常之远。语言使我们能够谈及已不存在或还未出现的事物。移位性赋予人 们的概括与抽象能力使人类受益无穷。词在指称具体物体时,并不总是出现在即时、形象化 的语境中。他们通常为了体现指称含义而被使用。 5. 文化传递性:语言不是靠遗传,而是通过文化传递的。 6. 互换性:指人可以是信息的发出者,也可以是信息的接受者,即人作为说话者和听话者的 角色是可以随意更换的。 元语言功能:我们的语言可以用来讨论语言本身。比如说,我可以用“书”指代一本书,也可以用“书这个词”来指代“书”这个词本身。这使语言具有无限的自我反身性:人类可以谈论“说话”,也可以思考“思考"。所以只有人类才能提问:元语言功能对交际、思考及人类的意义是什么?

语言学讨论题目

一、《英语语言学概论》课程思考题 语言的性质 1人类语言和动物语言的主要差异是什么? 请举例说明。 2什么是语言的符号性? 为什么要强调语言的符号性? 3你是如何看待语言的任意性和象似性的? 4听不懂外国人说外国话这一事实说明了什么? 5什么是语言的生成性? 你认为动物语言有生成性吗? 6就创造性而言,艺术和语言的差别如何? 请发挥。 7学习语言到底学习什么东西? 要学习和记忆的对象是词语、语法规则、还是句子? 8动物有“用无意义的语言单位构成有意义的语言单位”的能力吗? 语音学和音系学 1 语音学涉及的范围主要是哪些方面? 为什么? 2 人类语言仅包括数量极其有限的语音,这一点说明了人类语言的什么特点? 3 语音学家是如何来描写语音的? 4元音和辅音有什么区别? 5语音学和音系学的主要差别在什么地方? 它们分别以什么为分析基础单位? 6变音是否有辨别意义的功能? 为什么? 7变音的“互补性”指的是哪些方面? 8最小对立体有什么实用功能? 9最小对立体中的语音区别,到底是语音的区别? 还是音位的区别? 或者说是区别特征的区别? 10你是怎样来看待汉语的声调的? 声调到底是语音? 还是音位? 或者说是区别特征?

1 什么是形位? 形位有什么特点? 2 自由形位和依附形位的差别何在? 3 派生形位和屈拆形位的差别何在? 4 前缀和后缀应该属于哪种形位? 两者之间有什么细微差异? 5形位变体和音位变体有什么共同点和不同点? 6形位的鉴别标准是什么? 你对这种标准持什么态度? 7为什么说汉语最小的语言单位是“字”而不是“形位”? 你是如何来看待这个问题的? 语义学 (I) 1 什么是意义? 什么是语义? 它们之间有什么区别? 2语义学在语言学中占有什么地位? 3语言符号的形式和内容两面有哪几种关系? 4什么是语义或词语的系统价值? 5什么是语义组构? 6语言的字面意义和比喻意义有什么差别? 你是如何来看待这个问题的? 7什么叫语义蕴含? 8什么是冗余语义特征? 语义学 (II) 1 什么是语义蕴含? 2 什么是先设? 蕴含和先设的差别何在? 3 语义和句法的接面,反映在哪些方面? 你对此持何观点? 4英汉被动表达有什么主要差别?

对比语言学的定义,起源和发展(精)

对比语言学的定义、起源与发展 对比语言学(Contrastive Linguistics的定义 1、语言学中的比较与对比 比较是人类认识事物、研究事物的一种基本方法,也是语言学研究的一种基本方法。如果说,语言学的根本任务是对语言的某种现象加以阐述的话,那么要对某一语言现象作出阐述,总是需要对这一现象的种种表现加以比较和分析(Harlmann1980:22。因而,按其本质来说,对比语言学也是一种比较,不过是一种具有特定含义的语言学中的比较。下面,先让我们来看看对比语言学的比较,与语言学中其他分支的比较有什么不同,从而使我们能够确定对比语言学在整个语言学中的位置,及其与其他语言学研究的联系。 在进行语言学比较时,根据比较对象的不同,可以沿两条轴线来进行。一方面,可以选择共时或历时的语言现象来进行比较;另一方面,可以选择在某一语言内部或各种语言之间的语言现象来进行比较。这两条轴线的互相交叉,便形成了如下四个象限,这四个象限将语言学研究分成四大类性质和目的不同的比较。 象限I代表了同一语言内部的共时比较。这类比较是对某一语言在其历史发展的某一阶段(特别是现时阶段的语音、语法和词汇等系统的内部构成成分及组织结构的比较。

在共时语言学研究中,要对某一语言的某一结构系统进行描述,就必须对这一结构系统里的各种语言现象加以比较分析。例如,如果我们要研究一种语言的语音系统,我们就要比较这个系统里的各个音素的发音部位和方法有什么不同,它们的声学物理属性有什么不同,在音节中的分布又有什么不同的规律,我们就必须比较这个语言中各类词的语法作用有什么不同,组合搭配有什么特点,等等。而且,要确定一个语言中的词可以区分为哪几个词类,这本身就要进行大量的形态、语义、语法特征等方面的比较。因此可以说,同一语言内的共时比较是语音学、语法学、词汇学等构成当代语言学主流的各个分支学科的一种主要研究方法。 象限Ⅱ代表了同一语言内部的历时比较。这类比较是对某一语言在其历史演变的不同阶段的语音、语法和词汇等系统加以比较,从而使我们了解这一语言的发展历史,找出其基本发展演变规律。例如,通过对英语的历时比较,语言学家一般认为,英语的演变经历了古英语、中古英语、早期现代英语和现代英语等四个阶段。其语法演变的总趋势表现为从一个综合型的语言逐步向一个分析型的语言发展,即词的屈折变化逐渐减少,语法意义的表达越来越多地依赖语序以及介词等语法作用词的运用。这类比较是对某一语言的语言史及其分科(如词源学、古今比较语法学等研究的主要方法。 象限Ⅲ代表了不同语言之间的历时比较。这类比较是对不同语言(一般是亲属语言在各个历史发展阶段的语音、语法和词汇等系统进行比较,其目的主要是探讨语言之间的历史联系,并据此对世界上的语言进行谱系分类,重建或构拟某一组亲属语的共同原始语(proto-language,找出它们之间的某些共同发展规律. 例如,语言学家通过对印欧语系诸语言之向的历时比较研究,使我们能够大致了解这些语言在历史演变过程中的关系,推断出原始印欧语的大致形式。不同语言之间的历时比较往往需要与同一语言的历时比较相结合,这就形成了现代语言学研究领域中最先发展起来的一个分支—历史语言学,又称比较语言学,或历史比较语言学。历史语言学发端于十八世纪末,到了十九世纪,逐步发展成为语言学研究中占主导地位的一个领域,并取得了丰硕的成果。

语言学教程中文版

将英语译成中文(简体)胡壮麟“语言学教程”课后答案 定义以下条款: 1。设计特点:是他们的特点来定义,如任意性,双重性,创造性,位移,文化传播等,我们人类的语言, 2。功能:语言的使用ommunicate,思考,等anguage功能inclucle imformative 功能,人际功能,表演功能,人际功能,表演功能,情感功能,寒暄交流,娱乐功能和工具功能。 3。客位:在与主位是从美国语言学家派克的语音和音位的区别源于长期的对比。作为客位芒作出太多,以及behaviously无关紧要,鉴别,就像是多嚼不语言学与语音正确vx.phonemic分析实例。 4。主位:在与客位的是从美国语言学家派克的语音和音位的区别源于长期的对比。作者:主位言语行为和事件必须被作为一个有意义的资源,验证通过的最后一次演说communith本地成员,而不是通过qppeal到研究者的ingenuith或直觉孤单。‘ 5。同步:一类是描述以一个固定的瞬间(通常,但不一定,目前的)作为观察点。大多数语法是这样的。 6。历时:一种语言的研究是通过其进行的历史过程。 7。规范:一种语言的研究是通过其进行的历史过程。 8。规范:这类研究的语言,一切事都应该是如何规定的,ielaying下来的语言使用规则。 9。描述:这类研究的语言,一切事都只是描述。 10。独断性:一种人类的语言,这是指语言符号的脸,不承担任何形式的关系,其意义自然的设计特点。11。对偶:一种人类的语言,这是指有两对是二次元素组成的各级物业设计功能。水平和两级各有自己的组织原则。12。排量:一种人类的语言,这意味着人类语言的设计特点,使他们的用户,象征着在目前的通信对象,事件和概念并不在时间和空间目前?。13。寒暄交流:人类语言的一种功能,它是指语言的社会互动。14。元语言:语言符号或特定的分析和研究方面的某些种类的描述。15。macrolinguistics:他的语言之间的相互作用,如心理学,社会学,人种学,法学和人工智能等门类的

博迪投资学第九版英文答案

CHAPTER 1: THE INVESTMENT ENVIRONMENT PROBLEM SETS 1.Ultimately, it is true that real assets determine the material well being of an economy. Nevertheless, individuals can benefit when financial engineering creates new products that allow them to manage their portfolios of financial assets more efficiently. Because bundling and unbundling creates financial products with new properties and sensitivities to various sources of risk, it allows investors to hedge particular sources of risk more efficiently. 2.Securitization requires access to a large number of potential investors. To attract these investors, the capital market needs: 1. a safe system of business laws and low probability of confiscatory taxation/regulation; 2. a well-developed investment banking industry; 3. a well-developed system of brokerage and financial transactions, and; 4.well-developed media, particularly financial reporting. These characteristics are found in (indeed make for) a well-developed financial market. 3.Securitization leads to disintermediation; that is, securitization provides a means for market participants to bypass intermediaries. For example, mortgage-backed securities channel funds to the housing market without requiring that banks or thrift institutions make loans from their own portfolios. As securitization progresses, financial intermediaries must increase other activities such as providing short-term liquidity to consumers and small business, and financial services. 4.Financial assets make it easy for large firms to raise the capital needed to finance their investments in real assets. If Ford, for example, could not issue stocks or bonds to the general public, it would have a far more difficult time raising capital. Contraction of the supply of financial assets would make financing more difficult, thereby increasing the cost of capital. A higher cost of capital results in less investment and lower real growth.

英语语言学—中文版

单元练习......76页 英语语言学概论 —自学指导 主编: 支永碧王永祥

英语语言学概论 —自学指导 主编: 支永碧王永祥 副主编:李葆春丁后银王秀凤

前言 本书主要为参加英语专业(本科段)自学考试和全国研究生入学考试的考生而编写,是《英语语言学概论》(王永祥、支永碧,2007)的配套辅导用书。 自2007年起,《英语语言学概论》(王永祥、支永碧,2007)被确定为英语专业(本科段)自学考试的指定教材。在此期间,许多参加自学考试的考生希望能再出一本配套的辅导教材。他们中的不少人不仅希望自学考试轻松过关,还希望和全国其他学生一样将来能参加全国统一的研究生入学考试继续升造求学。而现有的教材内容和相关练习似乎还不能充分满足他们的需求。其一,配套练习尚不够全面,缺少问答题的参考答案;其二,和研究生入学考试真题相比,配套练习的类型也不够全面;其三,参加自学考试的学生往往很难得到老师的亲自授课和指导,而英语语言学理论和概念往往抽象难懂,再加上其它各种原因,不少考生不能轻易地掌握各章的所有重点、难点,因此,他们迫切需要有一本简单实用的自学考试指南和辅导练习帮助他们解决问题;此外,在英语专业研究生入学考试中,英语语言学是一门必考科目。入学以后,英语语言学也是英语专业研究生的一门必修课。鉴于此,他们希望了解更全面的英语语言学基本理论,多做一些更实用的英语语言学练习和真题,以备将来需要。为了满足广大自考学生和准备参加英语专业研究生入学考试的考生的需要,我们在广泛征求了各方面的意见之后,精心编写了本书。本书的编写除了主要参照王永祥、支永碧主编的《英语语言学概论》以外,我们还参考了胡壮麟主编的《语言学教程》(修订版)和戴炜栋、何兆熊主编的《新编简明英语语言学教程》和其它一些高校使用的语言学教程。 本书第一部分为英语语言学核心理论和概念,主要包括:本章主要考点,课文理解与重点内容分析;第二部分为英语语言学概论的十三章单元配套练习,和原教材中的练习稍有不同的是,在本部分,我们选编了部分自学考试真题和各个高校历年考研真题,以便考生更好地了解本章重点。这样,学生可以更有针对性地进行各章节的学习和复习。虽然该部分略有难度,但对考研和自考的学生都很有帮助;第三部分为英语语言学综合模拟试卷, 内容紧扣《英语语言学概论》,针对性很强,适用于英语专业各类考生;第四部分为江苏省自学考试英语语言学概论部分考试样题及参考答案。本书的习题主要包括以下七种类型:问答题、选择题、填空题、名词解释、是非判断题、汉英术语互译题、操作题。另外,为便于学习者了解考试重点,本书附加了江苏省英语专业(本科段)《英语语言学概论》自学考试新大纲2007版;另外,为便于自学者查询深涩难懂的语言学词汇,我们按照汉语字母顺序编写了常见的英语语言学术语汉英对照表,以补充原教材的些许缺失。 本书力求充分满足广大考生学习和考试的需要,帮助他们了解各章的主要考点和复习要点。祝参加英语专业自学考试的考生轻松克服《英语语言学概论》的学习难题,祝参加英语专业研究生入学考试的考生在本书的帮助下能轻松通过英语语言学这个难关,实现自己的梦想。 支永碧 2009年2月于南京师范大学随园

语用学练习题

英语语言学练习----语用学 一、Decide whether each of the following statements is true or false. 1.The contextual view is often considered as the initial effort to study meaning in a pragmatic sense. ( ) 2.Pragmatics is related to and also different from semantics. ( ) 3.The notion of context is not important to the pragmatic study of language. ( ) 4.All utterances take the form of sentences. ( ) 5.Speech act theory was proposed by the British philosopher John Austin in the late 1950s. ( ) 6.Grice made a distinction between what he called “constatives” and “performatives”. () 7.A locutionary act is the act of conveying literal meaning by means of syntax, lexicon, and phonology. ( ) 8.In their study of language communication, linguists are only interested in how a speaker expresses his intention and pay no attention to how his intention is recognized by the hearer. ( ) 9.Directives are attempts by the speaker to get the hearer to do something. ( ) 10.The Cooperative principle was proposed by John Searle. ( ) 11.There are four maxims under the Cooperative principle. ( ) 12.The violations of the maxims make our language indirect. ( ) 13.All the utterances take the form of sentences. ( ) 14.Austin thought that stating was also a kind of act, and that we can perform with language. ( )

最新当代语言学的八大发展趋势教学提纲

当代语言学的八大发展趋势 21世纪在即,?“回顾与前瞻”?构成各学科领域的世纪“门坎”?问题。综观语言的发展现状、考察相关科学的影响,语言学研究将在八个方面发生相应的转向,即由微观转向宏观、由单一转向多元、由系统转向运用、由描写转向解释、由结构转向认知、由静态转向动态、由分析转向综合、由模糊转向精确。认准趋势、把定方向,就能跟上语言学的发展潮流,促进语言学的研究。 关键词:21世纪;语言学;发展趋势;八大转向 面临世纪之交,人们都会很自然地提出一个问题:21世纪是怎么样的??对此问题的研究和探索会给人们带来思考与启发,指明方向与目标,所以,对各个学科和领域来说,这是一个无法避开的世纪“门坎”问题。 语言学被许多学者看作是先行科学,?回顾现代语言学的发展,透视21世纪的前景是语言学领域亟待研究的课题,?也是每个语言工作者的责任与义务。?近几年,此类相关文章时有发表,先声已奏。这里,我们从八个方面来谈一下语言学的发展趋势,以就教于同行方仁。 1. 由微观研究转向宏观研究 1.1 语言学研究对象的宏观化 语言学研究对象的宏观化,?指的是语言学不再把语言体系作为自己的唯一研究对象,其视野正向言语活动和言语机制延伸。 20世纪是语言作为一门独立学科飞速发展的时代,?学说纷繁,学派林立。?但纵观百年历程,以瑞士语言学家索绪尔学说为支柱的结构主义始终占有相当重要的地位。?结构主义建立了三种理论框架,其语言对象观把语言学研究紧紧束缚在了微观领域。??(1)?索绪尔(F.?de Saussure)?认为:“语言是每个人都具有的东西,同时对任何人又都是共同的,?而且是在储存人的意志之外的。语言的这种存在方式可表以如下的公式:1+1+1+......= 1(集体模型)”。(索绪尔,中译本:41)也就是说,语言是一种纯系统的框架。(2)结构主义“关于语言的定义是要把一切跟语言的组织、语言的系统无关的东西,简言之,一切我们用‘外部语言学’?这个术语所指的东西排除出去的”。(同上:?43)显然,这种观点把语言视作一种自足、封闭系统的框架,把语言与民族、社会、文化、政治、时空等因素割裂开来。(3)在语言学史上,?第一次明确提出语言和言语概念并加以严格区分的是索绪尔,但他对言语采取了“搁置”?的态度,认为“言语活动的整体是没法认识的,?因为它并不是同质的”,语言学“是以语言为唯一对象的”。(同上:?42)实际上,他所承认的语言学仅是“就语言和为语言而研究的语言”?,语言学是单一语言的框架。客观地讲,三个理论框架的思想对语言系统的研究曾起过非常积极的作用,但随着语言学的发展,这些“框架”?

跨文化商务谈判中的语用原则分析(新)

最新英语专业全英原创毕业论文,都是近期写作 1 传统美德与反传统个性的结合——《小妇人》中乔的形象分析 2 浅析交替传译过程中停顿现象 3 从异化和归化角度对《爱玛》两个中文译本的比较研究 4 析《傲慢与偏见》中达西的性格及人物形象 5 Sexism in English and Its Causes 6 科技英语长句的结构分析与翻译 7 文档所公布各专业原创毕业论文。原创Q 95 80 35 640 8 从生态批评的视角解读杰克?伦敦《野性的呼唤》 9 哈克贝利?费恩人物性格分析 10 分析《嘉莉妹妹》中赫斯渥的人物形象 11 《丧钟为谁而鸣》的生态女性主义解读 12 从社会语用学角度分析《雷雨》中的称谓语 13 An Analysis of Life and Death in Mrs. Dalloway 14 极限环境中的善与恶——浅析《蝇王》中的主要人物人格结构 15 浅析希腊罗马文化对英语词汇的影响 16 浅析《还乡》中游苔莎的悲剧根源 17 新课程标准下初中英语课堂中师生互动的构建 18 对比研究中西文化中的委婉语 19 言语幽默产生的语音机制 20 浅议《女勇士》中的个人英雄主义 21 论“迷惘的一代”--以海明威为个案 22 中英礼仪文化禁忌比较与跨文化交际 23 The Art and Achievement of Ying Ruocheng's Drama Translation 24 从目的论看林语堂《浮生六记》翻译中增译法的运用 25 《红字》中霍桑的女性观 26 “家有儿女”VS“成长的烦恼”——对比研究中西方家庭教育 27 浅析语用含糊在外交语言中的应用 28 透过《马丁?伊登》看杰克伦敦对超人哲学的矛盾心态 29 语用合作原则及礼貌原则在商业广告中的有效运用 30 维多利亚时期文学作品中的女性意识 31 解析威廉布莱克《老虎》中的修辞运用及其对英语写作的启示 32 A Study on the Cross-Cultural Management in the Sino-American Joint-Venture Enterprises --With Special Reference to Changan & Ford Motor Company 33 从认知的角度看委婉语 34 浅析澳洲英语词汇文化的特色 35 论《双城记》中的反讽 36 从功能对等理论看商务合同的翻译 37 爱米丽与祥林嫂悲剧的比较研究 38 论“迷惘的一代”告别“美国梦”——浅谈《永别了,武器》和《了不起的盖茨比》 39 斯佳丽性格的自我超越和升华 40 《土生子》里的象征艺术 41 从女性主义角度浅析《诺桑觉寺》

语用学级期末深刻复习思考题

I. Put the following English terms into Chinese. (1'×10=10') 所指对象referent 所指论Referential theory 专有名词proper name 普通名词common nouns 固定的指称记号rigid designators 指称词语deixical items 确定性描述语definite descriptions 编码时间coding-time 变异性variability 表示反复的词语iterative 表述句constative 补救策略redressive strategies 不可分离性non-detachability 不确定性indeterminacy 不使用补救策略,赤裸裸地公开施行面子威胁行bald on record without redressive actions 阐述类言语行为representatives 承诺类言语行为commissives 指令类言语行为directives 表达类言语行为expressives, 宣告类言语行为declarations 诚意条件sincerity condition

次要言外行为secondary illocutionary act 等级含义scalar implicature 等级划分法rating scales 副语言特征paralinguistic features 非公开施行面子威胁行为off record 非规约性non-conventionality 非规约性意义non-conventional implicature 非论证性的non-demonstrative 非自然意义non-natural meaning (meaning-nn) 否定测试法negation test 符号学semiotics 构成性规则constitutive rules 古典格莱斯会话含义理论Classical Gricean theory of conversational implicature 关联论Relevance Theory 关联原则Principle of Relevance 归属性用法attributive use 规约性含义conventional implicature 人际修辞interpersonal rhetoric 篇章修辞textual rhetoric 含蓄动词implicative verbs 合适条件felicity conditions 呼语vocatives

文化翻译与语用学

第7卷 第1期河北理工大学学报(社会科学版)Vol17 No11 2007年2月Journa l of Hebe i Polytechn i c Un i versity(Social Science Editi on)Feb.2007 文章编号:167322804(2007)0120144204 文化翻译与语用学 王幼军 (安徽师范大学外国语学院,安徽芜湖241000) 关键词:文化;翻译;语用学 摘 要:翻译作为一种语码的转换活动,实际上是将一种语码所承载的文化信息用另一种语 码表达出来。从文化和语用学角度探讨翻译的实质。 中图分类号:H31519 文献标识码:A 一 文化内涵与翻译 “文化”一词最早来自德语kultur,原指土地的开垦及植物的栽培,后来指对人的身体,精神,特别是指艺术和道德能力和天赋的培养。“文化”的含义非常广泛,从人类文化学的观点看,文化有两个意思:一是正式文化,包括文化学,历史,哲学,政治等;另一个是普通文化,即普通的社会习俗和惯例。现代文化社会学家认为,任何人类社会都离不开文化,文化是人类社会赖以生存和发展的基础。社会语言学家赫德森指出:文化是“从社会习得的知识”。所谓翻译,就是借助语言这一多功能符号体系,进行各种文化信息之间的转换。因此,任何翻译都离不开文化,“翻译者必须是一个真正意义的文化人”(王佐良)。翻译实质上是文化翻译。 二 文化转换 由于两种文化差异的存在,为向译文读者忠实地传达原文语用信息,有时要作适当的文化转换。双关语是个典型的例子。例如, 1 Separate pear,separate pair1分梨,分离。 前一部分是将梨分开,第二部分暗指夫妻天各一方。原文与译文,无论是从形,从音还是从义,都是非常贴切自然,犹如天造地设的一般。 2 I’m thrice a waiter:waiting f or f ood,wait2 ing for sleep and waiting f or death1 我是一个三等公民:等吃,等睡,等死。 本句可能是说某些自我调侃的人,因终日无所事事,所以在某种程度上成了“多余的人”,甘愿把自己看作“三等”公民。这与实际意义上的三等“third class”有着根本的区别,前者是从时间或做事顺序方面讲,后者则是指政治上的地位。此译文借助谐音,使人从严肃的话题中读出了几分诙谐和幽默。 3 在莎士比亚的《罗密欧与朱丽叶》中,有这样一句对话: Romeo:W hat has thou f ound? Mercutl o:No hare,Sir1 上句是该剧第二幕第四景中Mercuti o讥讽老乳母为娼妓时说的一句话,句中的hare一语双关,既指野兔,又寓指“娼妇”,但我们暗指此义时用“野鸡”不用“野兔”,鸡同妓谐音,梁实秋先生熟练地驾驭两种语言,处理此句时巧妙地传达了两种语言的双关效果,使得语用意义在语法平面上,语言文化上,文字结构上和行文风格上达到了形式对等,曲尽其妙。 4 再看夏威夷大学魏莉莎和丈夫刘丹翻译的京剧《凤还巢》中的两句独白: 程雪雁:咱们两人可以称得郎才女貌。 朱焕然:我看是豺狼虎豹。 Xue yan:The t w o of us will p r ovide a shining ex2 a mp le of“fe male beauty at home and male service t o the state”1 Zhu:It l ooks t o me more like“fe male authority at home and male service t o his mate”1 收稿日期:2006203210

当代语言学的特点和发展趋势

当代语言学的特点和发展趋势 纵观语言学百年历程,索绪尔的理论对现代语言学有着不可磨灭的影响,可以说现代语言学是一个索绪尔时代。伴随着新时期社会的不断发展,新技术的频频出现,思维认知的不断进步,近几十年内正在进行的语言研究与先前现代语言学的在索绪尔语言学的基础上延伸、发展不同,当代语言学开始走上一个极端而与之相矛盾,并在这种矛盾中酝酿出自己独特的理论,不同理论的碰撞使当代语言学呈现一番新特征并向更深广的方向发展。 总的来说,当代语言学大致有如下特征: 一、在研究对象上,当代语言学不再局限于对语法的单调研究和语言的结构分析,而是注重意义,语篇,实例。索绪尔认为语言是形式而不是实体,注重形式有三种方法,其一是完全用语法分析。20世纪50、60年代,语法被认为才是语言学研究的科学所在。随着国际交流的扩大,在语言的互相学习中,研究发现不同语言仅仅在形式上的对应并不能解决问题,因此,语义问题不得不考虑。到了跨世纪的前后十年,语义学开始进入语法学,并对语法学产生了很大的冲击。乔姆斯基的转换生成语法开始不考虑语义,后来逐渐加进语义。配价语法、功能语法等语言学理论逐渐升温。这些语言学理论和方法都是重视语义的。其二是完全用逻辑;其三是用语料库。这三种都没有成功。在此情况下,语义学的兴起,在语言学中有着重要的意义。可以说,在这点上,当代语言学既是对现代语言学的反动,又是对它的继承和发展。 二、在研究方向上,重视应用性的研究,注重对其功能的探讨,功能语法的兴起形成一股学术思潮。当代语言学研究从理论研究转向应用研究,更加注重对语言价值的分析和语言功能的研究,并形成了众多的功能语法流派;新技术的出现扩大了语言学的应用范围,把语言学的研究成果同有关学科的某些实用研究结合起来,着重解决有关学科及语言学本身所涉及的应用方面的问题,不局限于语言系统,而是扩展到语言实用性上。有的着重在语言交际上的运用,有的着重其在话语中的运用。随着语言研究的深入,人们愈来愈感到语言是一个多方面、多层次的系统。除语言本身的结构以外,语言与社会、语言与文化、语言与语言的使用者等都有着密切的关系。因此,只有结合这些因素对语言进行多方位的研究,才能真正揭示出语言的本质和规律。对语言研究的这一新的认识使得语言学从语言自身结构的研究扩大到了语言使用诸问题的研究,语用学、篇章语言学等一类的新兴学科的建立和发展便是这种研究重心转移的直接结果。 三、在学科门类上,当代语言学与其它学科的结合产生了一些边缘学科,新兴学科开始兴起。一方面,从其本身来说,当代语言学更加注重对语言进行动态的、整体的研究,超越了以往结构主义静态的、系统的研究,并由此生成了众多的语言学流派,呈现百家争鸣的态势。当代语言学的另一个特点是注重对语言学

从中西方礼貌原则的差异看跨文化语用原则

(北京吉利大学,北京 102202) [摘要] 礼貌原则是中西方语用学研究的重要内容。本文着力介绍了以利奇为代表的西方 礼貌原则,并介绍了汉语的礼貌原则,由此探讨中西方礼貌原则的差异,并进一步指出合作 原则可以看成是跨文化语用的最高原则。 [关键词] 礼貌原则;差异;跨文化语用;合作原则 中图分类号:H 14 文献标识码:A 文章编号:1672-8610(2013)4-0005-02 跨文化语用学是近20年来发展起来的,而且发展得很快的一个新的语用学分支。这一领域的 学术成果在语言教学、文化对比研究以及跨文化言语交际中被普遍认可。其中,礼貌原则的 研究是近几十年来语用学研究的一个重要方面,并对跨文化语用学起着积极的促进作用。 一、利奇的礼貌原则 英语著名语言学家利奇为了弥补格赖斯会话合作原则的不足而提出了礼貌原则。利奇认为, 格赖斯的会话合作原则虽可解释话语意义与言外之意之间的关系,但不能充分解释为什么人 们既要遵守合作原则又要违背合作原则的语言现象,所以利奇从社会心理学角度提出了他的 会话交际礼貌原则。他的礼貌原则分为六个准则:(1)策略准则(得体准则);(2)慷慨准则; (3)赞扬准则;(4)谦虚准则;(5)赞同准则;(6)同情准则。利奇的礼貌原则是以英语国 家文化或西方文化为背景提出来的,这些理论在多大程度上具有普遍性,越来越受到人们的 关注和质疑。维特根斯坦(1991)在评价言语行为理论时曾说塞尔等人的会话逻辑理论都认 为美国白人的说话方式代表了人类一般的说话方式。他的这一评价其实也同样适用于礼貌原 则。利奇本人也意识到了这一点,他在他的《语用学原则》一书中说:“本章对这一论题未论 述的另一方面是与人际修辞有关的不同语言和文化的类型研究。至今我们对不同文化间在这 一方面的了解是带有趣闻轶事性质的,比如有这样的观察:有的东方文化国家(比如说中国 和日本)比西方国家更强调‘谦虚准则’,英语国家则更强调‘得体准则’和‘讽刺准则’。” 由此看出,利奇并未对东方文化进行过详细考察,那么他由西方文化背景得出的礼貌原则对 其他文化的适应性是值得怀疑的。 利奇的谦虚准则与中国人的谦虚方式也有很大的不同。在某些场合下,中国式的“谦虚”会 给西方人带来不快甚至威胁。如清朝时,李鸿章出访美国,曾在美国餐馆设宴,席上对客人 说“今天承蒙各位光临,非常荣幸,我们备有粗肴,没有什么可口东西,聊表寸心,不成敬 意,请大家包涵……”第二天报纸上刊登了这一讲话的译文,餐馆老板大为恼火,说李鸿章 污蔑了他餐馆的名声。这是由不同的文化背景下的礼貌原则造成的。 二、汉语的礼貌原则 由此可见,利奇的礼貌原则并不能完全有效地指导汉语的言语交际活动。所以,顾曰国(1992) 考察了汉语文化的礼貌现象并提出了一套适应于汉文化交际的礼貌原则。顾曰国认为中国现 代的礼貌导源于中国古代的“礼”,“礼”是维护中国古代社会等级制度的行为法则,现代的 “礼貌”虽然不同于古代的“礼”,但仍然存在着千丝万缕的联系。因此,他将制约现代中国 人的言语行为规范,称之为“礼貌准则”。具体内容如下: 1.贬己尊人准则。中国式礼貌的最大特点是“夫礼者,自卑而尊人”。该准则指称谓自己或与 自己相关的事物时要“贬”,要“谦”;称谓听者或与听者有关联的事物时要“举”,要“尊”。 2.称呼准则。中国人视见面打招呼为礼貌,而打招呼就得有合适的称呼语。汉语称呼语比较 复杂,主要可归纳为职务名称、职称名称、职业名称、礼貌标记词、人名和亲属语。称呼准 则即用适切的称呼语主动与对方打招呼。 3.文雅准则。礼貌语言显示说话人有教养,有教养即精神境界达到了较高的层次。文雅准则 即选用雅言,禁用秽语;多用婉言,少用直言。 4.求同准则。它指说、听者在诸多方面力求和谐一致,尽量满足对方的欲望。

相关主题
文本预览
相关文档 最新文档