Murata-san
> The Japanese national member body very strongly doubt that this can
capture the
> Japanese calendar. (My implementation in Java is available at
> http://www.asahi-net.or.jp/~eb2m-mrt/hidden/wareki.jar).
The UK body knows it cannot, and does not claim that Jeni's initial proposal
is a complete one. It is doubtful that complex, non-repetitive, patterns
such as those found in Japanese calanders can be represented in totally
declarative formats that do not contain exception lists. You need an
interactive program to validate non-repetitive functions. What is needed is
some mechanism that allows user-defined algorithms to be invoked as a
datatype validation function.
> On top of this difficulty, the Japanese calendar uses kanji characters for
> representing numbers. Here is a summary.
Hopefully the problems of being able to map different symbols to specific
numbers will be handled in Part 7, an initial draft of which I reviewed
yesterday. The problems you highlight below are well known, and not specific
to Japanese. The n tens plus m units problem is only part of the problem.
Other numbering schemes have similar problems for larger units, and some
even have units that are not based on decimal notation. What is needed is a
way to invoke mappings from characterset representations of numbers to
processable decimals. This may be something that is more a function of Part
7 than Part 5: we need to discuss this in Philadelphia. Whether or not this
can be done declaratively or needs some mechanism for the invocation of
programmatic solutions such as yours needs to be discussed.
> 1. Synonyms
>
> Two characters for representing 1, say ONE1 and ONE2
> Two characters for representing 2
> Two characters for representing 3
> Two characters for representing 5
> Two characters for representing 10, say TEN1 and TEN2
>
> 2. Different representations of 10x + y
>
> 10x + y (where x, y!= 0) has three representations:
>
> x y
> x TEN1 Y
> x TEN2 Y
>
> 3. Zero
>
> Since we have ZERO, 10x (x!=1) has two representations
>
> x ZERO
> x TEN1
>
> 10 has three representations:
>
> TEN1
> TEN2
> ONE1 ZERO
>
>
> 4. A fragment of my JavaCC program for the kanji numbering system.
>
> int \u4e8c\u304b\u3089\u4e5d\u3067\u59cb\u307e\u308b\u6f22\u6570\u5b57():
> {
> int \u4e8c\u6841\u76ee;
> }
> {
> (("\u4e8c"| "\u5f10") {\u4e8c\u6841\u76ee = 2;}|
> ("\u4e09"| "\u53c2") {\u4e8c\u6841\u76ee = 3;}|
> "\u56db" {\u4e8c\u6841\u76ee = 4;}|
> ("\u4e94"| "\u4f0d") {\u4e8c\u6841\u76ee = 5;}|
> "\u516d" {\u4e8c\u6841\u76ee = 6;}|
> "\u4e03" {\u4e8c\u6841\u76ee = 7;}|
> "\u516b" {\u4e8c\u6841\u76ee = 8;}|
> "\u4e5d" {\u4e8c\u6841\u76ee = 9;})
>
> [
> ([("\u5341"|"\u62fe")]
> (("\u4e00"| "\u58f1") {return \u4e8c\u6841\u76ee*10+1;}|
> ("\u4e8c"| "\u5f10") {return \u4e8c\u6841\u76ee*10+2;}|
> ("\u4e09"| "\u53c2") {return \u4e8c\u6841\u76ee*10+3;}|
> "\u56db" {return \u4e8c\u6841\u76ee*10+4;}|
> ("\u4e94"| "\u4f0d") {return \u4e8c\u6841\u76ee*10+5;}|
> "\u516d" {return \u4e8c\u6841\u76ee*10+6;}|
> "\u4e03" {return \u4e8c\u6841\u76ee*10+7;}|
> "\u516b" {return \u4e8c\u6841\u76ee*10+8;}|
> "\u4e5d" {return \u4e8c\u6841\u76ee*10+9;}))
> |
> ("\u5341"|"\u62fe") {return \u4e8c\u6841\u76ee*10;}
> |
> "\u3007" {return \u4e8c\u6841\u76ee*10;}]
> {return \u4e8c\u6841\u76ee;}
> }
-- DSDL members discussion list To unsubscribe, please send a message with the command "unsubscribe" to dsdl-discuss-request@dsdl.org (mailto:dsdl-discuss-request@dsdl.org?Subject=unsubscribe)Received on Fri Oct 31 10:45:34 2003
This archive was generated by hypermail 2.1.8 : Fri Dec 03 2004 - 14:00:27 UTC