ndtypes 0.2.0dev5 → 0.2.0dev6

Sign up to get free protection for your applications and to get access to all the features.
Files changed (130) hide show
  1. checksums.yaml +4 -4
  2. data/CONTRIBUTING.md +12 -0
  3. data/Rakefile +8 -0
  4. data/ext/ruby_ndtypes/GPATH +0 -0
  5. data/ext/ruby_ndtypes/GRTAGS +0 -0
  6. data/ext/ruby_ndtypes/GTAGS +0 -0
  7. data/ext/ruby_ndtypes/extconf.rb +1 -1
  8. data/ext/ruby_ndtypes/include/ndtypes.h +231 -122
  9. data/ext/ruby_ndtypes/include/ruby_ndtypes.h +1 -1
  10. data/ext/ruby_ndtypes/lib/libndtypes.a +0 -0
  11. data/ext/ruby_ndtypes/lib/libndtypes.so.0.2.0dev3 +0 -0
  12. data/ext/ruby_ndtypes/ndtypes/Makefile +87 -0
  13. data/ext/ruby_ndtypes/ndtypes/config.h +68 -0
  14. data/ext/ruby_ndtypes/ndtypes/config.log +477 -0
  15. data/ext/ruby_ndtypes/ndtypes/config.status +1027 -0
  16. data/ext/ruby_ndtypes/ndtypes/doc/_static/style.css +7 -0
  17. data/ext/ruby_ndtypes/ndtypes/doc/_templates/layout.html +2 -0
  18. data/ext/ruby_ndtypes/ndtypes/doc/conf.py +40 -4
  19. data/ext/ruby_ndtypes/ndtypes/doc/images/xndlogo.png +0 -0
  20. data/ext/ruby_ndtypes/ndtypes/doc/ndtypes/types.rst +1 -1
  21. data/ext/ruby_ndtypes/ndtypes/doc/requirements.txt +2 -0
  22. data/ext/ruby_ndtypes/ndtypes/libndtypes/Makefile +287 -0
  23. data/ext/ruby_ndtypes/ndtypes/libndtypes/Makefile.in +20 -4
  24. data/ext/ruby_ndtypes/ndtypes/libndtypes/Makefile.vc +22 -3
  25. data/ext/ruby_ndtypes/ndtypes/libndtypes/alloc.c +1 -1
  26. data/ext/ruby_ndtypes/ndtypes/libndtypes/alloc.o +0 -0
  27. data/ext/ruby_ndtypes/ndtypes/libndtypes/attr.o +0 -0
  28. data/ext/ruby_ndtypes/ndtypes/libndtypes/compat/Makefile +73 -0
  29. data/ext/ruby_ndtypes/ndtypes/libndtypes/compat/bpgrammar.c +246 -229
  30. data/ext/ruby_ndtypes/ndtypes/libndtypes/compat/bpgrammar.h +15 -11
  31. data/ext/ruby_ndtypes/ndtypes/libndtypes/compat/bpgrammar.o +0 -0
  32. data/ext/ruby_ndtypes/ndtypes/libndtypes/compat/bpgrammar.y +38 -28
  33. data/ext/ruby_ndtypes/ndtypes/libndtypes/compat/bplexer.c +91 -91
  34. data/ext/ruby_ndtypes/ndtypes/libndtypes/compat/bplexer.h +1 -1
  35. data/ext/ruby_ndtypes/ndtypes/libndtypes/compat/bplexer.l +4 -3
  36. data/ext/ruby_ndtypes/ndtypes/libndtypes/compat/bplexer.o +0 -0
  37. data/ext/ruby_ndtypes/ndtypes/libndtypes/compat/export.c +8 -7
  38. data/ext/ruby_ndtypes/ndtypes/libndtypes/compat/export.o +0 -0
  39. data/ext/ruby_ndtypes/ndtypes/libndtypes/compat/import.c +2 -2
  40. data/ext/ruby_ndtypes/ndtypes/libndtypes/compat/import.o +0 -0
  41. data/ext/ruby_ndtypes/ndtypes/libndtypes/context.o +0 -0
  42. data/ext/ruby_ndtypes/ndtypes/libndtypes/copy.c +263 -182
  43. data/ext/ruby_ndtypes/ndtypes/libndtypes/copy.o +0 -0
  44. data/ext/ruby_ndtypes/ndtypes/libndtypes/encodings.o +0 -0
  45. data/ext/ruby_ndtypes/ndtypes/libndtypes/equal.c +67 -7
  46. data/ext/ruby_ndtypes/ndtypes/libndtypes/equal.o +0 -0
  47. data/ext/ruby_ndtypes/ndtypes/libndtypes/grammar.c +1112 -1000
  48. data/ext/ruby_ndtypes/ndtypes/libndtypes/grammar.h +69 -58
  49. data/ext/ruby_ndtypes/ndtypes/libndtypes/grammar.o +0 -0
  50. data/ext/ruby_ndtypes/ndtypes/libndtypes/grammar.y +150 -99
  51. data/ext/ruby_ndtypes/ndtypes/libndtypes/io.c +185 -15
  52. data/ext/ruby_ndtypes/ndtypes/libndtypes/io.o +0 -0
  53. data/ext/ruby_ndtypes/ndtypes/libndtypes/lexer.c +301 -276
  54. data/ext/ruby_ndtypes/ndtypes/libndtypes/lexer.h +1 -1
  55. data/ext/ruby_ndtypes/ndtypes/libndtypes/lexer.l +9 -4
  56. data/ext/ruby_ndtypes/ndtypes/libndtypes/lexer.o +0 -0
  57. data/ext/ruby_ndtypes/ndtypes/libndtypes/libndtypes.a +0 -0
  58. data/ext/ruby_ndtypes/ndtypes/libndtypes/libndtypes.so +1 -0
  59. data/ext/ruby_ndtypes/ndtypes/libndtypes/libndtypes.so.0 +1 -0
  60. data/ext/ruby_ndtypes/ndtypes/libndtypes/libndtypes.so.0.2.0dev3 +0 -0
  61. data/ext/ruby_ndtypes/ndtypes/libndtypes/match.c +729 -228
  62. data/ext/ruby_ndtypes/ndtypes/libndtypes/match.o +0 -0
  63. data/ext/ruby_ndtypes/ndtypes/libndtypes/ndtypes.c +768 -403
  64. data/ext/ruby_ndtypes/ndtypes/libndtypes/ndtypes.h +1002 -0
  65. data/ext/ruby_ndtypes/ndtypes/libndtypes/ndtypes.h.in +231 -122
  66. data/ext/ruby_ndtypes/ndtypes/libndtypes/ndtypes.o +0 -0
  67. data/ext/ruby_ndtypes/ndtypes/libndtypes/parsefuncs.c +176 -84
  68. data/ext/ruby_ndtypes/ndtypes/libndtypes/parsefuncs.h +26 -14
  69. data/ext/ruby_ndtypes/ndtypes/libndtypes/parsefuncs.o +0 -0
  70. data/ext/ruby_ndtypes/ndtypes/libndtypes/parser.c +57 -35
  71. data/ext/ruby_ndtypes/ndtypes/libndtypes/parser.o +0 -0
  72. data/ext/ruby_ndtypes/ndtypes/libndtypes/primitive.c +420 -0
  73. data/ext/ruby_ndtypes/ndtypes/libndtypes/primitive.o +0 -0
  74. data/ext/ruby_ndtypes/ndtypes/libndtypes/seq.c +8 -8
  75. data/ext/ruby_ndtypes/ndtypes/libndtypes/seq.h +1 -1
  76. data/ext/ruby_ndtypes/ndtypes/libndtypes/seq.o +0 -0
  77. data/ext/ruby_ndtypes/ndtypes/libndtypes/serialize/Makefile +48 -0
  78. data/ext/ruby_ndtypes/ndtypes/libndtypes/serialize/deserialize.c +200 -116
  79. data/ext/ruby_ndtypes/ndtypes/libndtypes/serialize/deserialize.o +0 -0
  80. data/ext/ruby_ndtypes/ndtypes/libndtypes/serialize/serialize.c +46 -4
  81. data/ext/ruby_ndtypes/ndtypes/libndtypes/serialize/serialize.o +0 -0
  82. data/ext/ruby_ndtypes/ndtypes/libndtypes/substitute.c +58 -27
  83. data/ext/ruby_ndtypes/ndtypes/libndtypes/substitute.h +1 -1
  84. data/ext/ruby_ndtypes/ndtypes/libndtypes/substitute.o +0 -0
  85. data/ext/ruby_ndtypes/ndtypes/libndtypes/symtable.c +3 -5
  86. data/ext/ruby_ndtypes/ndtypes/libndtypes/symtable.h +12 -4
  87. data/ext/ruby_ndtypes/ndtypes/libndtypes/symtable.o +0 -0
  88. data/ext/ruby_ndtypes/ndtypes/libndtypes/tests/Makefile +55 -0
  89. data/ext/ruby_ndtypes/ndtypes/libndtypes/tests/Makefile.in +8 -8
  90. data/ext/ruby_ndtypes/ndtypes/libndtypes/tests/Makefile.vc +5 -5
  91. data/ext/ruby_ndtypes/ndtypes/libndtypes/tests/runtest.c +274 -172
  92. data/ext/ruby_ndtypes/ndtypes/libndtypes/tests/test.h +24 -4
  93. data/ext/ruby_ndtypes/ndtypes/libndtypes/tests/test_array.c +2 -2
  94. data/ext/ruby_ndtypes/ndtypes/libndtypes/tests/test_buffer.c +14 -14
  95. data/ext/ruby_ndtypes/ndtypes/libndtypes/tests/test_match.c +32 -30
  96. data/ext/ruby_ndtypes/ndtypes/libndtypes/tests/test_parse.c +37 -0
  97. data/ext/ruby_ndtypes/ndtypes/libndtypes/tests/test_parse_error.c +36 -0
  98. data/ext/ruby_ndtypes/ndtypes/libndtypes/tests/test_parse_roundtrip.c +16 -0
  99. data/ext/ruby_ndtypes/ndtypes/libndtypes/tests/test_record.c +5 -5
  100. data/ext/ruby_ndtypes/ndtypes/libndtypes/tests/test_typecheck.c +706 -253
  101. data/ext/ruby_ndtypes/ndtypes/libndtypes/tests/test_unify.c +132 -0
  102. data/ext/ruby_ndtypes/ndtypes/libndtypes/unify.c +703 -0
  103. data/ext/ruby_ndtypes/ndtypes/libndtypes/unify.o +0 -0
  104. data/ext/ruby_ndtypes/ndtypes/libndtypes/util.c +335 -127
  105. data/ext/ruby_ndtypes/ndtypes/libndtypes/util.o +0 -0
  106. data/ext/ruby_ndtypes/ndtypes/libndtypes/values.c +2 -2
  107. data/ext/ruby_ndtypes/ndtypes/libndtypes/values.o +0 -0
  108. data/ext/ruby_ndtypes/ndtypes/python/ndt_randtype.py +88 -71
  109. data/ext/ruby_ndtypes/ndtypes/python/ndt_support.py +0 -1
  110. data/ext/ruby_ndtypes/ndtypes/python/ndtypes/__init__.py +10 -13
  111. data/ext/ruby_ndtypes/ndtypes/python/ndtypes/_ndtypes.c +395 -314
  112. data/ext/ruby_ndtypes/ndtypes/python/ndtypes/libndtypes.a +0 -0
  113. data/ext/ruby_ndtypes/ndtypes/python/ndtypes/libndtypes.so +1 -0
  114. data/ext/ruby_ndtypes/ndtypes/python/ndtypes/libndtypes.so.0 +1 -0
  115. data/ext/ruby_ndtypes/ndtypes/python/ndtypes/libndtypes.so.0.2.0dev3 +0 -0
  116. data/ext/ruby_ndtypes/ndtypes/python/ndtypes/ndtypes.h +1002 -0
  117. data/ext/ruby_ndtypes/ndtypes/python/ndtypes/pyndtypes.h +15 -33
  118. data/ext/ruby_ndtypes/ndtypes/python/test_ndtypes.py +340 -132
  119. data/ext/ruby_ndtypes/ndtypes/setup.py +11 -2
  120. data/ext/ruby_ndtypes/ruby_ndtypes.c +364 -241
  121. data/ext/ruby_ndtypes/ruby_ndtypes.h +1 -1
  122. data/ext/ruby_ndtypes/ruby_ndtypes_internal.h +0 -1
  123. data/lib/ndtypes.rb +11 -0
  124. data/lib/ndtypes/version.rb +2 -2
  125. data/lib/ruby_ndtypes.so +0 -0
  126. data/ndtypes.gemspec +3 -0
  127. data/spec/ndtypes_spec.rb +6 -0
  128. metadata +98 -4
  129. data/ext/ruby_ndtypes/gc_guard.c +0 -36
  130. data/ext/ruby_ndtypes/gc_guard.h +0 -12
@@ -0,0 +1,7 @@
1
+ .wy-side-nav-search {
2
+ background-color: #e9ecef;
3
+ }
4
+
5
+ .wy-side-nav-search>div.version {
6
+ color: #333333;
7
+ }
@@ -0,0 +1,2 @@
1
+ {% extends "!layout.html" %}
2
+ {% set css_files = css_files + ["_static/style.css"] %}
@@ -1,7 +1,11 @@
1
1
  import sys, os, docutils
2
2
 
3
3
 
4
- extensions = ['sphinx.ext.intersphinx', 'sphinx.ext.doctest']
4
+ extensions = [
5
+ 'sphinx.ext.intersphinx',
6
+ 'sphinx.ext.doctest',
7
+ 'sphinx.ext.extlinks'
8
+ ]
5
9
 
6
10
  source_suffix = '.rst'
7
11
  master_doc = 'index'
@@ -11,16 +15,48 @@ version = 'v0.2.0dev3'
11
15
  release = 'v0.2.0dev3'
12
16
  exclude_patterns = ['doc', 'build']
13
17
  pygments_style = 'sphinx'
18
+
14
19
  html_static_path = ['_static']
20
+ templates_path = ['_templates']
15
21
 
16
22
  primary_domain = 'py'
17
23
  add_function_parentheses = False
18
24
 
25
+ html_theme = "sphinx_rtd_theme"
26
+ html_theme_path = ["_themes", ]
27
+
28
+ html_theme_options = {
29
+ 'canonical_url': 'https://xnd.io/',
30
+ 'analytics_id': '',
31
+ 'logo_only': True,
32
+ 'display_version': True,
33
+ 'prev_next_buttons_location': 'bottom',
34
+ # Toc options
35
+ 'collapse_navigation': True,
36
+ 'sticky_navigation': True,
37
+ 'navigation_depth': 4,
38
+ }
39
+
40
+ html_context = {
41
+ "display_github": False, # Add 'Edit on Github' link instead of 'View page source'
42
+ "last_updated": True,
43
+ "commit": False,
44
+ }
45
+
46
+ html_show_sourcelink = False
47
+
48
+ extlinks = {
49
+ 'issue': ('https://github.com/plures/ndtypes/issues/%s', 'GH#'),
50
+ 'pr': ('https://github.com/plures/ndtypes/pull/%s', 'GH#')
51
+ }
52
+
53
+ html_logo = "images/xndlogo.png"
54
+
19
55
 
20
56
  def setup(app):
21
- app.add_crossref_type('topic', 'topic', 'single: %s',
22
- docutils.nodes.strong)
57
+ app.add_crossref_type(
58
+ 'topic', 'topic', 'single: %s', docutils.nodes.strong
59
+ )
23
60
  app.add_javascript("copybutton.js")
24
61
 
25
62
 
26
-
@@ -65,7 +65,7 @@ All fixed-size scalars:
65
65
  +-----------+-----------------+------------+--------------+---------------+-----------------------+
66
66
  | | | ``int32`` | ``uint32`` | ``float64`` | ``complex128`` [#f4]_ |
67
67
  +-----------+-----------------+------------+--------------+---------------+-----------------------+
68
- | | | ``int64`` | ``uint64`` | | |
68
+ | | | ``int64`` | ``uint64`` | ``bfloat16`` | ``bcomplex32`` |
69
69
  +-----------+-----------------+------------+--------------+---------------+-----------------------+
70
70
 
71
71
  .. [#f1] implemented as :c:type:`char`
@@ -0,0 +1,2 @@
1
+ sphinx
2
+ sphinx_rtd_theme
@@ -0,0 +1,287 @@
1
+
2
+ # ==============================================================================
3
+ # Unix Makefile for libndtypes
4
+ # ==============================================================================
5
+
6
+
7
+ LIBSTATIC = libndtypes.a
8
+ LIBNAME = libndtypes.so
9
+ LIBSONAME = libndtypes.so.0
10
+ LIBSHARED = libndtypes.so.0.2.0dev3
11
+
12
+ CC = gcc
13
+ LD = gcc
14
+ AR = ar
15
+ RANLIB = ranlib
16
+
17
+ CONFIGURE_CFLAGS = -I.. -Wall -Wextra -std=c11 -pedantic -O2 -g
18
+ NDT_CFLAGS = $(strip $(CONFIGURE_CFLAGS) $(CFLAGS))
19
+ NDT_CFLAGS_SHARED = $(NDT_CFLAGS) -fPIC
20
+
21
+ CONFIGURE_LDFLAGS = -shared -Wl,-soname,libndtypes.so.0
22
+ NDT_LDFLAGS = $(strip $(CONFIGURE_LDFLAGS) $(LDFLAGS))
23
+
24
+ CONFIGURE_COV_CFLAGS = -I.. -Wall -Wextra -std=c11 -pedantic -O0 -g -fno-inline -fprofile-arcs -ftest-coverage
25
+ CONFIGURE_COV_LDFLAGS = -shared -Wl,-soname,libndtypes.so.0 -fprofile-arcs
26
+ ifeq ($(MAKECMDGOALS), coverage)
27
+ NDT_CFLAGS = $(strip $(CONFIGURE_COV_CFLAGS) $(CFLAGS))
28
+ NDT_LDFLAGS = $(strip $(CONFIGURE_COV_LDFLAGS) $(LDFLAGS))
29
+ endif
30
+
31
+
32
+ default: $(LIBSTATIC) $(LIBSHARED)
33
+
34
+
35
+ OBJS = alloc.o attr.o context.o copy.o encodings.o equal.o grammar.o io.o \
36
+ lexer.o match.o ndtypes.o parsefuncs.o parser.o primitive.o seq.o \
37
+ substitute.o symtable.o unify.o util.o values.o
38
+
39
+ SHARED_OBJS = .objs/alloc.o .objs/attr.o .objs/context.o .objs/copy.o \
40
+ .objs/encodings.o .objs/equal.o .objs/grammar.o .objs/io.o \
41
+ .objs/lexer.o .objs/match.o .objs/ndtypes.o .objs/parsefuncs.o \
42
+ .objs/parser.o .objs/primitive.o .objs/seq.o .objs/substitute.o \
43
+ .objs/symtable.o .objs/unify.o .objs/util.o .objs/values.o
44
+
45
+
46
+ COMPAT_OBJS = compat/bpgrammar.o compat/bplexer.o compat/import.o compat/export.o
47
+
48
+ COMPAT_SHARED_OBJS = compat/.objs/bpgrammar.o compat/.objs/bplexer.o \
49
+ compat/.objs/import.o compat/.objs/export.o
50
+
51
+ SERIALIZE_OBJS = serialize/serialize.o serialize/deserialize.o
52
+
53
+ SERIALIZE_SHARED_OBJS = serialize/.objs/serialize.o serialize/.objs/deserialize.o
54
+
55
+
56
+ $(LIBSTATIC): Makefile $(OBJS) $(COMPAT_OBJS) $(SERIALIZE_OBJS)
57
+ $(AR) rc $(LIBSTATIC) $(OBJS) $(COMPAT_OBJS) $(SERIALIZE_OBJS)
58
+ $(RANLIB) $(LIBSTATIC)
59
+
60
+
61
+ $(LIBSHARED): Makefile $(SHARED_OBJS) $(COMPAT_SHARED_OBJS) $(SERIALIZE_SHARED_OBJS)
62
+ $(LD) $(NDT_LDFLAGS) -o $(LIBSHARED) $(SHARED_OBJS) $(COMPAT_SHARED_OBJS) $(SERIALIZE_SHARED_OBJS)
63
+ ln -sf $(LIBSHARED) $(LIBNAME)
64
+ ln -sf $(LIBSHARED) $(LIBSONAME)
65
+
66
+
67
+ alloc.o:\
68
+ Makefile alloc.c ndtypes.h
69
+ $(CC) $(NDT_CFLAGS) -c alloc.c
70
+
71
+ .objs/alloc.o:\
72
+ Makefile alloc.c ndtypes.h
73
+ $(CC) $(NDT_CFLAGS_SHARED) -c alloc.c -o .objs/alloc.o
74
+
75
+ attr.o:\
76
+ Makefile attr.c attr.h ndtypes.h
77
+ $(CC) $(NDT_CFLAGS) -c attr.c
78
+
79
+ .objs/attr.o:\
80
+ Makefile attr.c attr.h ndtypes.h
81
+ $(CC) $(NDT_CFLAGS_SHARED) -c attr.c -o .objs/attr.o
82
+
83
+ context.o:\
84
+ Makefile context.c ndtypes.h
85
+ $(CC) $(NDT_CFLAGS) -c context.c
86
+
87
+ .objs/context.o:\
88
+ Makefile context.c ndtypes.h
89
+ $(CC) $(NDT_CFLAGS_SHARED) -c context.c -o .objs/context.o
90
+
91
+ copy.o:\
92
+ Makefile copy.c ndtypes.h
93
+ $(CC) $(NDT_CFLAGS) -c copy.c
94
+
95
+ .objs/copy.o:\
96
+ Makefile copy.c ndtypes.h
97
+ $(CC) $(NDT_CFLAGS_SHARED) -c copy.c -o .objs/copy.o
98
+
99
+ encodings.o:\
100
+ Makefile encodings.c ndtypes.h
101
+ $(CC) $(NDT_CFLAGS) -c encodings.c
102
+
103
+ .objs/encodings.o:\
104
+ Makefile encodings.c ndtypes.h
105
+ $(CC) $(NDT_CFLAGS_SHARED) -c encodings.c -o .objs/encodings.o
106
+
107
+ io.o:\
108
+ Makefile io.c ndtypes.h
109
+ $(CC) $(NDT_CFLAGS) -c io.c
110
+
111
+ .objs/io.o:\
112
+ Makefile io.c ndtypes.h
113
+ $(CC) $(NDT_CFLAGS_SHARED) -c io.c -o .objs/io.o
114
+
115
+ equal.o:\
116
+ Makefile equal.c ndtypes.h
117
+ $(CC) $(NDT_CFLAGS) -c equal.c
118
+
119
+ .objs/equal.o:\
120
+ Makefile equal.c ndtypes.h
121
+ $(CC) $(NDT_CFLAGS_SHARED) -c equal.c -o .objs/equal.o
122
+
123
+ grammar.o:\
124
+ Makefile grammar.c grammar.h lexer.h ndtypes.h parsefuncs.h seq.h
125
+ $(CC) $(NDT_CFLAGS) -c grammar.c
126
+
127
+ .objs/grammar.o:\
128
+ Makefile grammar.c grammar.h lexer.h ndtypes.h parsefuncs.h seq.h
129
+ $(CC) $(NDT_CFLAGS_SHARED) -c grammar.c -o .objs/grammar.o
130
+
131
+ lexer.o:\
132
+ Makefile lexer.c grammar.h lexer.h parsefuncs.h
133
+ $(CC) $(NDT_CFLAGS) -c lexer.c
134
+
135
+ .objs/lexer.o:\
136
+ Makefile lexer.c grammar.h lexer.h parsefuncs.h
137
+ $(CC) $(NDT_CFLAGS_SHARED) -c lexer.c -o .objs/lexer.o
138
+
139
+ match.o:\
140
+ Makefile match.c ndtypes.h symtable.h
141
+ $(CC) $(NDT_CFLAGS) -c match.c
142
+
143
+ .objs/match.o:\
144
+ Makefile match.c ndtypes.h symtable.h
145
+ $(CC) $(NDT_CFLAGS_SHARED) -c match.c -o .objs/match.o
146
+
147
+ ndtypes.o:\
148
+ Makefile ndtypes.c ndtypes.h
149
+ $(CC) $(NDT_CFLAGS) -c ndtypes.c
150
+
151
+ .objs/ndtypes.o:\
152
+ Makefile ndtypes.c ndtypes.h
153
+ $(CC) $(NDT_CFLAGS_SHARED) -c ndtypes.c -o .objs/ndtypes.o
154
+
155
+ parsefuncs.o:\
156
+ Makefile parsefuncs.c ndtypes.h parsefuncs.h seq.h
157
+ $(CC) $(NDT_CFLAGS) -c parsefuncs.c
158
+
159
+ .objs/parsefuncs.o:\
160
+ Makefile parsefuncs.c ndtypes.h parsefuncs.h seq.h
161
+ $(CC) $(NDT_CFLAGS_SHARED) -c parsefuncs.c -o .objs/parsefuncs.o
162
+
163
+ parser.o:\
164
+ Makefile parser.c grammar.h lexer.h ndtypes.h seq.h
165
+ $(CC) $(NDT_CFLAGS) -c parser.c
166
+
167
+ .objs/parser.o:\
168
+ Makefile parser.c grammar.h lexer.h ndtypes.h seq.h
169
+ $(CC) $(NDT_CFLAGS_SHARED) -c parser.c -o .objs/parser.o
170
+
171
+ primitive.o:\
172
+ Makefile primitive.c grammar.h lexer.h ndtypes.h seq.h
173
+ $(CC) $(NDT_CFLAGS) -c primitive.c
174
+
175
+ .objs/primitive.o:\
176
+ Makefile primitive.c grammar.h lexer.h ndtypes.h seq.h
177
+ $(CC) $(NDT_CFLAGS_SHARED) -c primitive.c -o .objs/primitive.o
178
+
179
+ seq.o:\
180
+ Makefile seq.c ndtypes.h seq.h
181
+ $(CC) $(NDT_CFLAGS) -c seq.c
182
+
183
+ .objs/seq.o:\
184
+ Makefile seq.c ndtypes.h seq.h
185
+ $(CC) $(NDT_CFLAGS_SHARED) -c seq.c -o .objs/seq.o
186
+
187
+ substitute.o:\
188
+ Makefile substitute.c ndtypes.h substitute.h symtable.h
189
+ $(CC) $(NDT_CFLAGS) -c substitute.c
190
+
191
+ .objs/substitute.o:\
192
+ Makefile substitute.c ndtypes.h substitute.h symtable.h
193
+ $(CC) $(NDT_CFLAGS_SHARED) -c substitute.c -o .objs/substitute.o
194
+
195
+ symtable.o:\
196
+ Makefile symtable.c ndtypes.h symtable.h
197
+ $(CC) $(NDT_CFLAGS) -c symtable.c
198
+
199
+ .objs/symtable.o:\
200
+ Makefile symtable.c ndtypes.h symtable.h
201
+ $(CC) $(NDT_CFLAGS_SHARED) -c symtable.c -o .objs/symtable.o
202
+
203
+ unify.o:\
204
+ Makefile unify.c ndtypes.h
205
+ $(CC) $(NDT_CFLAGS) -c unify.c
206
+
207
+ .objs/unify.o:\
208
+ Makefile unify.c ndtypes.h
209
+ $(CC) $(NDT_CFLAGS_SHARED) -c unify.c -o .objs/unify.o
210
+
211
+ util.o:\
212
+ Makefile util.c ndtypes.h
213
+ $(CC) $(NDT_CFLAGS) -c util.c
214
+
215
+ .objs/util.o:\
216
+ Makefile util.c ndtypes.h
217
+ $(CC) $(NDT_CFLAGS_SHARED) -c util.c -o .objs/util.o
218
+
219
+ values.o:\
220
+ Makefile values.c ndtypes.h
221
+ $(CC) $(NDT_CFLAGS) -c values.c
222
+
223
+ .objs/values.o:\
224
+ Makefile values.c ndtypes.h
225
+ $(CC) $(NDT_CFLAGS_SHARED) -c values.c -o .objs/values.o
226
+
227
+
228
+ # Without these, GNU make automatically builds the parser.
229
+ %.c: %.y
230
+ %.c: %.l
231
+
232
+ parser: FORCE
233
+ bison -Wall -o grammar.c -pndt_yy --defines=grammar.h grammar.y
234
+ flex -o lexer.c -Pndt_yy --header-file=lexer.h lexer.l
235
+
236
+
237
+ # compat directory
238
+ $(COMPAT_OBJS) $(COMPAT_SHARED_OBJS):\
239
+ Makefile compat/Makefile compat/bpgrammar.y compat/bplexer.l compat/import.c \
240
+ ndtypes.h seq.h
241
+ cd compat && make
242
+
243
+ # serialize directory
244
+ $(SERIALIZE_OBJS) $(SERIALIZE_SHARED_OBJS):\
245
+ Makefile serialize/Makefile serialize/serialize.c ndtypes.h
246
+ cd serialize && make
247
+
248
+
249
+ # Coverage
250
+ coverage:\
251
+ Makefile clean $(LIBSTATIC) $(LIBSHARED)
252
+
253
+
254
+ # Benchmark
255
+ bench:\
256
+ Makefile tools/bench.c ndtypes.h $(LIBSTATIC)
257
+ $(CC) -I. $(NDT_CFLAGS) -o bench tools/bench.c $(LIBSTATIC)
258
+
259
+
260
+ # Print the AST
261
+ print_ast:\
262
+ Makefile tools/print_ast.c ndtypes.h $(LIBSTATIC)
263
+ $(CC) -I. $(NDT_CFLAGS) -o print_ast tools/print_ast.c $(LIBSTATIC)
264
+
265
+
266
+ # Indent a file that contains a datashape type
267
+ indent:\
268
+ Makefile tools/indent.c ndtypes.h $(LIBSTATIC)
269
+ $(CC) -I. $(NDT_CFLAGS) -o indent tools/indent.c $(LIBSTATIC)
270
+
271
+
272
+ FORCE:
273
+
274
+ clean: FORCE
275
+ rm -f *.o *.so *.gch *.gcda *.gcno *.gcov *.dyn *.dpi *.lock
276
+ rm -f bench indent print_ast $(LIBSTATIC) $(LIBSHARED) $(LIBSONAME) $(LIBNAME)
277
+ cd .objs && rm -f *.o *.so *.gch *.gcda *.gcno *.gcov *.dyn *.dpi *.lock
278
+ cd compat && make clean
279
+ cd serialize && make clean
280
+
281
+ distclean: clean
282
+ rm -f Makefile ndtypes.h
283
+ cd compat && make distclean
284
+ cd serialize && make distclean
285
+
286
+
287
+
@@ -33,14 +33,14 @@ default: $(LIBSTATIC) $(LIBSHARED)
33
33
 
34
34
 
35
35
  OBJS = alloc.o attr.o context.o copy.o encodings.o equal.o grammar.o io.o \
36
- lexer.o match.o ndtypes.o parsefuncs.o parser.o seq.o substitute.o \
37
- symtable.o util.o values.o
36
+ lexer.o match.o ndtypes.o parsefuncs.o parser.o primitive.o seq.o \
37
+ substitute.o symtable.o unify.o util.o values.o
38
38
 
39
39
  SHARED_OBJS = .objs/alloc.o .objs/attr.o .objs/context.o .objs/copy.o \
40
40
  .objs/encodings.o .objs/equal.o .objs/grammar.o .objs/io.o \
41
41
  .objs/lexer.o .objs/match.o .objs/ndtypes.o .objs/parsefuncs.o \
42
- .objs/parser.o .objs/seq.o .objs/substitute.o .objs/symtable.o \
43
- .objs/util.o .objs/values.o
42
+ .objs/parser.o .objs/primitive.o .objs/seq.o .objs/substitute.o \
43
+ .objs/symtable.o .objs/unify.o .objs/util.o .objs/values.o
44
44
 
45
45
 
46
46
  COMPAT_OBJS = compat/bpgrammar.o compat/bplexer.o compat/import.o compat/export.o
@@ -168,6 +168,14 @@ Makefile parser.c grammar.h lexer.h ndtypes.h seq.h
168
168
  Makefile parser.c grammar.h lexer.h ndtypes.h seq.h
169
169
  $(CC) $(NDT_CFLAGS_SHARED) -c parser.c -o .objs/parser.o
170
170
 
171
+ primitive.o:\
172
+ Makefile primitive.c grammar.h lexer.h ndtypes.h seq.h
173
+ $(CC) $(NDT_CFLAGS) -c primitive.c
174
+
175
+ .objs/primitive.o:\
176
+ Makefile primitive.c grammar.h lexer.h ndtypes.h seq.h
177
+ $(CC) $(NDT_CFLAGS_SHARED) -c primitive.c -o .objs/primitive.o
178
+
171
179
  seq.o:\
172
180
  Makefile seq.c ndtypes.h seq.h
173
181
  $(CC) $(NDT_CFLAGS) -c seq.c
@@ -192,6 +200,14 @@ Makefile symtable.c ndtypes.h symtable.h
192
200
  Makefile symtable.c ndtypes.h symtable.h
193
201
  $(CC) $(NDT_CFLAGS_SHARED) -c symtable.c -o .objs/symtable.o
194
202
 
203
+ unify.o:\
204
+ Makefile unify.c ndtypes.h
205
+ $(CC) $(NDT_CFLAGS) -c unify.c
206
+
207
+ .objs/unify.o:\
208
+ Makefile unify.c ndtypes.h
209
+ $(CC) $(NDT_CFLAGS_SHARED) -c unify.c -o .objs/unify.o
210
+
195
211
  util.o:\
196
212
  Makefile util.c ndtypes.h
197
213
  $(CC) $(NDT_CFLAGS) -c util.c
@@ -33,13 +33,14 @@ default: $(LIBSTATIC) $(LIBSHARED)
33
33
 
34
34
  OBJS = alloc.obj attr.obj context.obj copy.obj equal.obj encodings.obj \
35
35
  grammar.obj io.obj lexer.obj match.obj ndtypes.obj parsefuncs.obj \
36
- parser.obj seq.obj substitute.obj symtable.obj util.obj values.obj
36
+ parser.obj primitive.obj seq.obj substitute.obj symtable.obj unify.obj \
37
+ util.obj values.obj
37
38
 
38
39
  SHARED_OBJS = .objs\alloc.obj .objs\attr.obj .objs\context.obj .objs\copy.obj \
39
40
  .objs\equal.obj .objs\encodings.obj .objs\grammar.obj .objs\io.obj \
40
41
  .objs\lexer.obj .objs\match.obj .objs\ndtypes.obj .objs\parsefuncs.obj \
41
- .objs\parser.obj .objs\seq.obj .objs\substitute.obj .objs\symtable.obj \
42
- .objs\util.obj .objs\values.obj
42
+ .objs\parser.obj .objs\primitive.obj .objs\seq.obj .objs\substitute.obj \
43
+ .objs\symtable.obj .objs\unify.obj .objs\util.obj .objs\values.obj
43
44
 
44
45
 
45
46
  COMPAT_OBJS = compat\bpgrammar.obj compat\bplexer.obj compat\import.obj compat\export.obj
@@ -168,6 +169,16 @@ Makefile parser.c grammar.h lexer.h ndtypes.h seq.h
168
169
  Makefile parser.c grammar.h lexer.h ndtypes.h seq.h
169
170
  $(CC) $(CFLAGS_FOR_PARSER_SHARED) -c parser.c
170
171
 
172
+ primitive.obj:\
173
+ Makefile primitive.c grammar.h lexer.h ndtypes.h seq.h
174
+ $(CC) $(CFLAGS) -c primitive.c
175
+
176
+ .objs\primitive.obj:\
177
+ Makefile primitive.c grammar.h lexer.h ndtypes.h seq.h
178
+ $(CC) $(CFLAGS_SHARED) -c primitive.c
179
+
180
+ seq.obj:\
181
+ Makefile seq.c ndtypes.h seq.h
171
182
  seq.obj:\
172
183
  Makefile seq.c ndtypes.h seq.h
173
184
  $(CC) $(CFLAGS) -c seq.c
@@ -192,6 +203,14 @@ Makefile symtable.c ndtypes.h symtable.h
192
203
  Makefile symtable.c ndtypes.h symtable.h
193
204
  $(CC) $(CFLAGS_SHARED) -c symtable.c
194
205
 
206
+ unify.obj:\
207
+ Makefile unify.c ndtypes.h
208
+ $(CC) $(CFLAGS) -c unify.c
209
+
210
+ .objs\unify.obj:\
211
+ Makefile unify.c ndtypes.h
212
+ $(CC) $(CFLAGS_SHARED) -c unify.c
213
+
195
214
  util.obj:\
196
215
  Makefile util.c ndtypes.h
197
216
  $(CC) $(CFLAGS) -c util.c