åž‹

Author: 森 洋久 / joshua@globalbase.org +

* Abstract
* [1] åž‹ã¨å€¤ã®æ¨™è¨˜
* [2] 基本型
* [3] 文字コードã«ã¤ã„ã¦
* [4] 構造型(LISPã®Så¼ã«å¯¾å¿œ)
* [5] 環境

Abstract

XL ã§ã¯ã€åž‹ã¯å€¤ã«ä¸Žãˆã‚‰ã‚Œã¦ã„る。ã“ã“ã§ã¯ã€XLã«ãŠã‘ã‚‹åž‹ã¨ã€ãã®å®Ÿæ…‹ã€ã¾ãŸåž‹ã‚„å¤‰æ•°ã®æ¨™è¨˜ã«ã¤ã„ã¦è¿°ã¹ã‚‹ã€‚

[UP] Go To Page Top

[1] åž‹ã¨å€¤ã®æ¨™è¨˜

XLã§ä½¿ç”¨ã™ã‚‹å€¤ã®ç¨®é¡žã¯ä»¥ä¸‹ã®é€šã‚Šã§ã‚る。

exp ::=
	fundamantal-exp		(基本型)
	structured-exp		(構造型)
	function-exp		(関数型)
	environment-exp		(環境型)
 



[UP] Go To Page Top

[2] 基本型

XLã§å®šç¾©ã•れる基本型ã¯ä»¥ä¸‹ã®é€šã‚Šã§ã‚る。

fundamental-exp ::=
	integer
		表記:XMLæ–¹å¼,LISPæ–¹å¼ã¨ã‚‚ã«åŒã˜
	floating-pointï¼ˆæµ®å‹•å°æ•°ç‚¹ï¼‰
		表記:XMLæ–¹å¼,LISPæ–¹å¼ã¨ã‚‚ã«åŒã˜
	string
		表記:	
			XML	è§£æžæ–‡å­—列
			LISP 	"..."
	symbol
		表記:
			XML	^... (最後ã«ç©ºç™½ãŒå…¥ã‚‹)
			LISP	以下å‚照。
	raw
		表記:
			XMLå½¢å¼LISPå½¢å¼ã¨ã‚‚ã«åŒã˜
			#byte数#...RAWデータ...
			例:#5#!x$%~
	error
		表記:
			%E(
				エラーシーケン番å·(行番å·)
				エラー発生siteã®URL
				エラー発生ファイルå
				エラー発生関数å
				エラーコード
				exp (ãã®ä»–付加データ)
				)
	environment
		表記:ãªã—
 

erroråž‹ã¯ã€ã‚¨ãƒ©ãƒ¼ã‚’処ç†ã™ã‚‹ãŸã‚ã®ç‰¹åˆ¥ãªå€¤ã§ã€ã‚¨ãƒ©ãƒ¼ãŒç™ºç”Ÿã—ãŸé–¢æ•°ãŒæˆ»ã‚Šå€¤ã¨ã—ã¦è¿”ã™ã€‚一方ã€ã“ã®å€¤ã‚’å—ã‘å–ã£ãŸé–¢æ•°ã¯å³åº§ã«åŒã˜ã‚¨ãƒ©ãƒ¼ã‚’è¿”ã•ãªã‘れã°ãªã‚‰ãªã„。ãŸã ã—ã€ErrHandler関数ã¯ä¾‹å¤–ã§ã‚る。ã“ã®é–¢æ•°ã¯ã‚¨ãƒ©ãƒ¼ã‚’補足ã—ã¦ã‚¨ãƒ©ãƒ¼ã®å¾Œå‡¦ç†ã‚’ã™ã‚‹ãŸã‚ã®é–¢æ•°ã§ã‚る。

通常ã€ã‚¤ãƒ³ã‚¿ãƒ¼ãƒ—リタã¯ã€ã‚¨ãƒ©ãƒ¼ãŒç™ºç”Ÿã™ã‚‹ã¨ã€ãれをResult関数ã®å¼•æ•°ã¨ã—ã¦è¡¨ç¤ºã™ã‚‹ã€‚ã—ã‹ã—ã€erroråž‹ã®ã†ã¡ErrDontPrintエラーã¯ç‰¹æ®Šãªã‚¨ãƒ©ãƒ¼ã§ã€ã‚¤ãƒ³ã‚¿ãƒ—リターã¯ã“ã®ã‚¨ãƒ©ãƒ¼ã‚’å—ã‘ã‚‹ã¨ãªã«ã‚‚表示ã—ãªã„。ã“ã®ã‚ˆã†ã«ã™ã‚‹ã“ã¨ã«ã‚ˆã£ã¦ã€ãƒãƒƒãƒˆãƒ¯ãƒ¼ã‚¯ã§ã‚¨ãƒ©ãƒ¼ã‚„データãŒãƒ«ãƒ¼ãƒ—ã™ã‚‹äº‹æ…‹ã‚’回é¿ã—ã¦ã„る。

[UP] Go To Page Top

[3] 文字コードã«ã¤ã„ã¦

XLã®å‡¦ç†ç³»å†…部ã§ã¯ã‚らゆる文字を32bit固定長ã§è¡¨ç¾ã™ã‚‹ã€‚ã“ã®æ–‡å­—コードを内部文字コードã¨å‘¼ã¶ã€‚内部文字コードã®å‰²ã‚Šå½“ã¦ã¯ Table (ゾーン) ã®é€šã‚Šã§ã‚る。

Table ゾーン
ゾーン ã‚¾ãƒ¼ãƒ³ã®æ„味 割り当ã¦ã‚‰ã‚ŒãŸã‚³ãƒ¼ãƒ‰
0000〜 7FFF FF FF 4ãƒã‚¤ãƒˆã‚³ãƒ¼ãƒ‰UCS
80000〜 800FF FF 2ãƒã‚¤ãƒˆã‚³ãƒ¼ãƒ‰JIS 第一水準ã€ç¬¬äºŒæ°´æº–
80000〜 BF FF FF FF 2ãƒã‚¤ãƒˆã‚³ãƒ¼ãƒ‰æœªä½¿ç”¨
C0 000〜 DF FF FF FF 3ãƒã‚¤ãƒˆã‚³ãƒ¼ãƒ‰æœªä½¿ç”¨
E0 000〜 FF FF FF FF 1ãƒã‚¤ãƒˆã‚³ãƒ¼ãƒ‰æœªä½¿ç”¨


UCSãŠã‚ˆã³JISã®é ˜åŸŸä»¥å¤–ã¯ã€UCSã‚„JISã¨ç•°ãªã‚‹ã‚³ãƒ³ã‚»ãƒ—トã®ã‚³ãƒ¼ãƒ‰ã‚’割り当ã¦ã‚‹ã“ã¨ãŒå‡ºæ¥ã‚‹ã€‚ç¾åœ¨ã¯EUCã€SJISã¯å…¨ã¦ãƒ‘ーザã«ã‚ˆã£ã¦JISã«å¤‰æ›ã•れる。

[UP] Go To Page Top

[4] 構造型(LISPã®Så¼ã«å¯¾å¿œ)

LISPå½¢å¼

structured-type ::=
	()
	(exp exp ....)
	([symbol 属性リスト])
	([symbol 属性リスト] exp ....)

 

XMLå½¢å¼

([symbol 属性リスト] ....)
 

ã¯ã€

<symbolã¨åŒã˜æ–‡å­—列 属性リスト> </symbolã¨åŒã˜æ–‡å­—列>
 

ã¨ç­‰ä¾¡ã§ã‚る。ãŸã¨ãˆã°ã€

([greeting
	FirstName = "Hirohisa" 
	LastName = "Mori"] 
	"Hello World")
 

ã¯ã€

<greeting 
	FirstName="Hirohisa" 
	LastName = "Mori"> 
	Hello World
</greeting>
 

ã¨å¤‰æ›ã§ãる。ã“ã®å ´åˆã€Hello World ã¯ä¸€ç¶šãã®æ–‡å­—列ã¨ã—ã¦èªè­˜ã•れるãŒã€ã“れを別々ã«åˆ†ã‘ãŸã„å ´åˆã¯ã€é–“ã« \ ã‚’ã„れる。ã¤ã¾ã‚Šã€

<greeting 
	FirstName="Hirohisa" 
	LastName = "Mori"> 
	Hello \ World 
</greeting>
 

ã¯ã€

(greeting [
	FirstName = "Hirohisa" 
	LastName = "Mori"]
	"Hello" "World")
 

ã¨ç­‰ä¾¡ã§ã‚る。

属性値ã«ã‚·ãƒ³ãƒœãƒ«ã‚’定義ã—ãŸã„å ´åˆã¯ã€

(greeting [FirstName = "^symbol" ]
	"Hello" "World")


<greeting FirstName = "^symbol"> Hello World </greeting>
 

ã¨ã„ã†ã‚ˆã†ã«ã€å±žæ€§å€¤ã®é ­ã« ^ を付ã‘れã°ã‚ˆã„。 ^ を二ã¤ç¶šã‘ã€" ^^symbol "ã¨ã™ã‚‹ã¨ã€ãれã¯ã‚·ãƒ³ãƒœãƒ«ã§ã¯ãªãã€" ^symbol "ã¨ã„ã†æ–‡å­—列ã¨è§£é‡ˆã•れる。

[UP] Go To Page Top

[5] 環境

変数ã¨å€¤ã®å¯¾å¿œè¡¨ã€‚変数ã®åå‰ã¯symbolã§ç¤ºã•れる。ã¤ã¾ã‚Šã€symbolã¨å€¤ã®å¯¾å¿œè¡¨ãŒç’°å¢ƒã§ã‚る。

通常一ã¤ã®ç’°å¢ƒã«ã¯ã€ä¸€ã¤ã®è¦ªç’°å¢ƒãŒã‚る。以下ã«è¿°ã¹ã‚‹ã€è©•価ã«ãŠã„ã¦ã¯ã€è¦ªç’°å¢ƒã®æƒ…報も検索対象ã¨ãªã‚‹ã€‚

ã—ã‹ã—ã€é–¢æ•°ã®å¼•æ•°ã®è©•価時ã«ã¯ã€é–¢æ•°ã®å¼•数評価用ã®ç’°å¢ƒã‚’å…ˆã«è©•価ã—ã€ãã®å¾Œã€é–¢æ•°ã®ã‚«ãƒ¬ãƒ³ãƒˆã®ç’°å¢ƒã‚’評価ã™ã‚‹å¿…è¦ãŒã‚ã‚‹ãŸã‚ã€è¦ªç’°å¢ƒã‚’二ã¤ã‚‚ã£ãŸåˆ†å²ç’°å¢ƒãŒç”Ÿæˆã•れる。ãŸã ã—ã€ã“ã®ç’°å¢ƒã«ã¯ã‚·ãƒ³ãƒœãƒ«ã‚„値をãƒã‚¤ãƒ³ãƒ‰ã™ã‚‹ã“ã¨ã¯å‡ºæ¥ãªã„。

評価時ã®åˆ†å²ç’°å¢ƒã®æ¤œç´¢é †åºã¯ã€ã¾ãšã€ç¬¬ä¸€ç•ªç›®ã®è¦ªç’°å¢ƒã€æ¬¡ã«ç¬¬äºŒç•ªç›®ã®è¦ªç’°å¢ƒã¨ãªã‚‹ã€‚ã—ãŸãŒã£ã¦ã€è¦ªç’°å¢ƒã«å®šç¾©ã•れã¦ã„るシンボルãŒå„ªå…ˆã•れる。

[UP] Go To Page Top
  GLOBALBASE has particated in the open source software support program SORCE FORGE SourceForge.jp SourceForge.net Logo