超漢字アプリケーション開発用のProtocol Buffersコンパイラの開発
Revisão | 3f135426c3b8161eb545ae729267fe719f8f2fa4 (tree) |
---|---|
Hora | 2015-01-23 01:40:52 |
Autor | ornse01 <ornse01@user...> |
Commiter | ornse01 |
fix to call generator method from compiler.
@@ -1,5 +1,6 @@ | ||
1 | 1 | require_relative 'protobuf/parser.rb' |
2 | 2 | require_relative 'protobuf/ast' |
3 | +require_relative 'protobuf/generator' | |
3 | 4 | |
4 | 5 | class ProtobufCompiler |
5 | 6 | def initialize(src) |
@@ -7,20 +8,8 @@ class ProtobufCompiler | ||
7 | 8 | end |
8 | 9 | |
9 | 10 | def generate |
10 | - @ir.each_message { |message| | |
11 | - puts <<EOS | |
12 | -struct #{message.name}_ { | |
13 | -EOS | |
14 | - message.each_field { |field| | |
15 | - puts <<EOS | |
16 | - #{field.type.to_s} #{field.name}; | |
17 | -EOS | |
18 | - } | |
19 | - puts <<EOS | |
20 | -}; | |
21 | -typedef struct #{message.name}_ #{message.name}; | |
22 | -EOS | |
23 | - } | |
11 | + str = Protobuf::Generator.generate_header @ir.enum_for(:each_message) | |
12 | + puts str | |
24 | 13 | end |
25 | 14 | end |
26 | 15 |
@@ -29,6 +18,7 @@ message TestMessage { | ||
29 | 18 | required int32 test1 = 1; |
30 | 19 | required string test2 = 2; |
31 | 20 | optional string test3 = 3; |
21 | + optional Test0.Test1.Test2 test4 = 4; | |
32 | 22 | } |
33 | 23 | EOS |
34 | 24 |