yaparc 0.2.3 → 0.4.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (53) hide show
  1. checksums.yaml +7 -0
  2. data/.document +3 -0
  3. data/.envrc +1 -0
  4. data/.rdoc_options +1 -0
  5. data/CHANGELOG.md +19 -0
  6. data/Gemfile +4 -0
  7. data/LICENSE +20 -0
  8. data/README +106 -86
  9. data/Rakefile +27 -0
  10. data/TODO +11 -0
  11. data/lib/yaparc/abstract_parser.rb +16 -0
  12. data/lib/yaparc/alt.rb +22 -0
  13. data/lib/yaparc/apply.rb +18 -0
  14. data/lib/yaparc/char.rb +16 -0
  15. data/lib/yaparc/cr.rb +11 -0
  16. data/lib/yaparc/digit.rb +11 -0
  17. data/lib/yaparc/fail_parser.rb +11 -0
  18. data/lib/yaparc/ident.rb +18 -0
  19. data/lib/yaparc/identifier.rb +32 -0
  20. data/lib/yaparc/item.rb +17 -0
  21. data/lib/yaparc/literal.rb +13 -0
  22. data/lib/yaparc/many.rb +14 -0
  23. data/lib/yaparc/many_one.rb +27 -0
  24. data/lib/yaparc/nat.rb +11 -0
  25. data/lib/yaparc/natural.rb +12 -0
  26. data/lib/yaparc/no_fail.rb +20 -0
  27. data/lib/yaparc/parsable.rb +20 -0
  28. data/lib/yaparc/regex.rb +22 -0
  29. data/lib/yaparc/satisfy.rb +28 -0
  30. data/lib/yaparc/seq.rb +33 -0
  31. data/lib/yaparc/space.rb +11 -0
  32. data/lib/yaparc/string.rb +24 -0
  33. data/lib/yaparc/succeed.rb +14 -0
  34. data/lib/yaparc/symbol.rb +11 -0
  35. data/lib/yaparc/tokenize.rb +18 -0
  36. data/lib/yaparc/white_space.rb +11 -0
  37. data/lib/yaparc/zero_one.rb +20 -0
  38. data/lib/yaparc.rb +40 -605
  39. data/sig/yaparc.gen.rbs +217 -0
  40. data/sig/yaparc.rbs +4 -0
  41. data/yaparc.gemspec +36 -0
  42. metadata +115 -58
  43. data/test/n3-report.html +0 -169
  44. data/test/n3.bnf +0 -129
  45. data/test/test_abc.rb.bak +0 -112
  46. data/test/test_calc.rb +0 -112
  47. data/test/test_lambda.rb +0 -87
  48. data/test/test_metric.rb +0 -617
  49. data/test/test_owl.rb +0 -1039
  50. data/test/test_parser.rb +0 -460
  51. data/test/test_prolog.rb +0 -287
  52. data/test/test_sql.rb +0 -317
  53. data/test/test_uri.rb +0 -752
@@ -0,0 +1,217 @@
1
+ # TypeProf 0.21.3
2
+
3
+ # Classes
4
+ class Object
5
+ @parser: bot
6
+ end
7
+
8
+ module Yaparc
9
+ VERSION: String
10
+ OK: Class
11
+ Fail: Class
12
+ Error: Class
13
+ @input: untyped
14
+ @value: nil
15
+
16
+ def initialize: (input: untyped, ?value: nil) -> void
17
+
18
+ module Parsable
19
+ IS_LOWER: ^(untyped) -> untyped
20
+ IS_ALPHANUM: ^(untyped) -> untyped
21
+ IS_DIGIT: ^(untyped) -> untyped
22
+ IS_SPACE: ^(untyped) -> untyped
23
+ IS_WHITESPACE: ^(untyped) -> bool
24
+ IS_CR: ^(untyped) -> untyped
25
+ @parser: bot
26
+
27
+ def parse: (nil input) -> (Alt | Regex | Satisfy)
28
+ end
29
+
30
+ class Alt
31
+ include Parsable
32
+ @parser: Proc
33
+
34
+ def initialize: (*ManyOne | Succeed parsers) -> void
35
+ end
36
+
37
+ class Apply
38
+ include Parsable
39
+ @parser: Proc
40
+
41
+ def initialize: (untyped parser) -> void
42
+ end
43
+
44
+ class Char
45
+ include Parsable
46
+ @parser: ^-> Satisfy
47
+
48
+ def initialize: (untyped char, ?true case_sensitive) -> void
49
+ end
50
+
51
+ class CR
52
+ include Parsable
53
+ @parser: ^-> Regex
54
+
55
+ def initialize: -> void
56
+ end
57
+
58
+ class Digit
59
+ include Parsable
60
+ @parser: ^-> Satisfy
61
+
62
+ def initialize: -> void
63
+ end
64
+
65
+ class FailParser
66
+ include Parsable
67
+ @parser: ^(nil) -> untyped
68
+
69
+ def initialize: -> void
70
+ end
71
+
72
+ class Ident
73
+ include Parsable
74
+ @parser: ^-> Seq
75
+
76
+ def initialize: -> void
77
+ end
78
+
79
+ class Identifier
80
+ IDENTIFIER_REGEX: Regexp
81
+ include Parsable
82
+ @parser: Proc | ^-> Tokenize
83
+
84
+ def initialize: (?regex: nil, ?exclude: nil) -> void
85
+ end
86
+
87
+ class Item
88
+ include Parsable
89
+ @parser: Proc
90
+
91
+ def initialize: -> void
92
+ end
93
+
94
+ class Literal
95
+ include Parsable
96
+ @parser: ^-> Tokenize
97
+
98
+ def initialize: (untyped literal, ?true case_sensitive) -> void
99
+ end
100
+
101
+ class Many
102
+ include Parsable
103
+ @parser: ^-> Alt
104
+
105
+ def initialize: (Satisfy parser, ?Array[untyped] | String identity) -> void
106
+ end
107
+
108
+ class ManyOne
109
+ include Parsable
110
+ @parser: Proc
111
+
112
+ def initialize: (Digit parser, ?Array[untyped] | String identity) -> void
113
+ end
114
+
115
+ class Nat
116
+ include Parsable
117
+ @parser: ^-> Seq
118
+
119
+ def initialize: -> void
120
+ end
121
+
122
+ class Natural
123
+ include Parsable
124
+ @parser: ^-> Tokenize
125
+
126
+ def initialize: (**untyped) -> void
127
+ end
128
+
129
+ class NoFail
130
+ include Parsable
131
+ @parser: Proc
132
+
133
+ def initialize: (untyped parser) -> void
134
+ end
135
+
136
+ class Regex
137
+ include Parsable
138
+ @regex: Regexp
139
+ @parser: Proc
140
+
141
+ def initialize: (Regexp regex) -> void
142
+ end
143
+
144
+ class Satisfy
145
+ include Parsable
146
+ @parser: Proc
147
+
148
+ def initialize: (^(untyped) -> untyped predicate) -> void
149
+ def parse: (nil input) -> untyped
150
+ end
151
+
152
+ class Seq
153
+ include Parsable
154
+ @parser: Proc
155
+
156
+ def initialize: (*Char | Many | ManyOne | Regex | Satisfy | String | Succeed | WhiteSpace parsers) { (*untyped) -> Array[untyped] } -> void
157
+ end
158
+
159
+ class Space
160
+ include Parsable
161
+ @parser: ^-> Regex
162
+
163
+ def initialize: -> void
164
+ end
165
+
166
+ class String
167
+ include Parsable
168
+ @parser: Proc
169
+
170
+ def initialize: (untyped string, ?true case_sensitive) -> void
171
+ end
172
+
173
+ class Succeed
174
+ include Parsable
175
+ @parser: ^(nil) -> untyped
176
+
177
+ attr_reader remaining: nil
178
+ def initialize: (Alt | Array[untyped] | Regex | Satisfy value, ?nil remaining) -> void
179
+ end
180
+
181
+ class Symbol
182
+ include Parsable
183
+ @parser: ^-> Literal
184
+
185
+ def initialize: (untyped literal) -> void
186
+ end
187
+
188
+ class Tokenize
189
+ include Parsable
190
+ @parser: Proc
191
+
192
+ attr_writer prefix: WhiteSpace
193
+ attr_writer postfix: WhiteSpace
194
+ def initialize: (Regex | String parser, ?prefix: nil, ?postfix: nil) -> void
195
+ end
196
+
197
+ class WhiteSpace
198
+ include Parsable
199
+ @parser: ^-> Regex
200
+
201
+ def initialize: -> void
202
+ end
203
+
204
+ class ZeroOne
205
+ include Parsable
206
+ @parser: Proc
207
+
208
+ def initialize: (untyped parser, ?Array[untyped] identity) -> void
209
+ end
210
+
211
+ class AbstractParser
212
+ include Parsable
213
+ @tree: untyped
214
+
215
+ def parse: (untyped input) -> untyped
216
+ end
217
+ end
data/sig/yaparc.rbs ADDED
@@ -0,0 +1,4 @@
1
+ module Yaparc
2
+ VERSION: String
3
+ # See the writing guide of rbs: https://github.com/ruby/rbs#guides
4
+ end
data/yaparc.gemspec ADDED
@@ -0,0 +1,36 @@
1
+ # frozen_string_literal: true
2
+
3
+ require_relative 'lib/yaparc'
4
+
5
+ Gem::Specification.new do |spec|
6
+ spec.name = 'yaparc'
7
+ spec.version = Yaparc::VERSION
8
+ spec.authors = ['Akimichi Tatsukawa', 'gemmaro']
9
+ spec.email = ['akimichi.tatsukawa@gmail.com', 'gemmaro.dev@gmail.com']
10
+
11
+ spec.summary = 'Yet another simple parser combinator library'
12
+ spec.homepage = homepage = 'https://git.disroot.org/gemmaro/yaparc'
13
+ spec.required_ruby_version = '>= 3.1.6'
14
+
15
+ spec.files = Dir.chdir(__dir__) do
16
+ `git ls-files -z`.split("\x0").reject do |f|
17
+ (f == __FILE__) || f.match(%r{\A(?:(?:bin|test|spec|features)/|\.(?:git|travis|circleci)|appveyor)})
18
+ end
19
+ end
20
+
21
+ spec.require_paths = ['lib']
22
+
23
+ spec.add_development_dependency 'rake'
24
+ spec.add_development_dependency 'rubocop'
25
+ spec.add_development_dependency 'test-unit'
26
+
27
+ spec.metadata = {
28
+ 'rubygems_mfa_required' => 'true',
29
+ 'bug_tracker_uri' => "#{homepage}/issues",
30
+ 'changelog_uri' => "#{homepage}/src/branch/main/CHANGELOG.md",
31
+ 'documentation_uri' => 'https://rubydoc.info/gems/yaparc',
32
+ 'homepage_uri' => homepage,
33
+ 'source_code_uri' => homepage,
34
+ 'wiki_uri' => "#{homepage}/wiki"
35
+ }
36
+ end
metadata CHANGED
@@ -1,72 +1,129 @@
1
- --- !ruby/object:Gem::Specification
1
+ --- !ruby/object:Gem::Specification
2
2
  name: yaparc
3
- version: !ruby/object:Gem::Version
4
- version: 0.2.3
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.4.0
5
5
  platform: ruby
6
- authors:
6
+ authors:
7
7
  - Akimichi Tatsukawa
8
- autorequire:
8
+ - gemmaro
9
9
  bindir: bin
10
10
  cert_chain: []
11
-
12
- date: 2009-01-19 00:00:00 +09:00
13
- default_executable:
14
- dependencies: []
15
-
16
- description:
17
- email: akimichi_tatsukawa@nifty.com
11
+ date: 1980-01-02 00:00:00.000000000 Z
12
+ dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: rake
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - ">="
18
+ - !ruby/object:Gem::Version
19
+ version: '0'
20
+ type: :development
21
+ prerelease: false
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - ">="
25
+ - !ruby/object:Gem::Version
26
+ version: '0'
27
+ - !ruby/object:Gem::Dependency
28
+ name: rubocop
29
+ requirement: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - ">="
32
+ - !ruby/object:Gem::Version
33
+ version: '0'
34
+ type: :development
35
+ prerelease: false
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - ">="
39
+ - !ruby/object:Gem::Version
40
+ version: '0'
41
+ - !ruby/object:Gem::Dependency
42
+ name: test-unit
43
+ requirement: !ruby/object:Gem::Requirement
44
+ requirements:
45
+ - - ">="
46
+ - !ruby/object:Gem::Version
47
+ version: '0'
48
+ type: :development
49
+ prerelease: false
50
+ version_requirements: !ruby/object:Gem::Requirement
51
+ requirements:
52
+ - - ">="
53
+ - !ruby/object:Gem::Version
54
+ version: '0'
55
+ email:
56
+ - akimichi.tatsukawa@gmail.com
57
+ - gemmaro.dev@gmail.com
18
58
  executables: []
19
-
20
59
  extensions: []
21
-
22
- extra_rdoc_files:
60
+ extra_rdoc_files: []
61
+ files:
62
+ - ".document"
63
+ - ".envrc"
64
+ - ".rdoc_options"
65
+ - CHANGELOG.md
66
+ - Gemfile
67
+ - LICENSE
23
68
  - README
24
- files:
25
- - test/test_sql.rb
26
- - test/test_lambda.rb
27
- - test/test_calc.rb
28
- - test/test_uri.rb
29
- - test/test_parser.rb
30
- - test/test_owl.rb
31
- - test/test_metric.rb
32
- - test/test_prolog.rb
69
+ - Rakefile
70
+ - TODO
33
71
  - lib/yaparc.rb
34
- - test/n3.bnf
35
- - test/test_abc.rb.bak
36
- - test/n3-report.html
37
- - README
38
- has_rdoc: true
39
- homepage: http://rubyforge.org/projects/yaparc/
40
- post_install_message:
72
+ - lib/yaparc/abstract_parser.rb
73
+ - lib/yaparc/alt.rb
74
+ - lib/yaparc/apply.rb
75
+ - lib/yaparc/char.rb
76
+ - lib/yaparc/cr.rb
77
+ - lib/yaparc/digit.rb
78
+ - lib/yaparc/fail_parser.rb
79
+ - lib/yaparc/ident.rb
80
+ - lib/yaparc/identifier.rb
81
+ - lib/yaparc/item.rb
82
+ - lib/yaparc/literal.rb
83
+ - lib/yaparc/many.rb
84
+ - lib/yaparc/many_one.rb
85
+ - lib/yaparc/nat.rb
86
+ - lib/yaparc/natural.rb
87
+ - lib/yaparc/no_fail.rb
88
+ - lib/yaparc/parsable.rb
89
+ - lib/yaparc/regex.rb
90
+ - lib/yaparc/satisfy.rb
91
+ - lib/yaparc/seq.rb
92
+ - lib/yaparc/space.rb
93
+ - lib/yaparc/string.rb
94
+ - lib/yaparc/succeed.rb
95
+ - lib/yaparc/symbol.rb
96
+ - lib/yaparc/tokenize.rb
97
+ - lib/yaparc/white_space.rb
98
+ - lib/yaparc/zero_one.rb
99
+ - sig/yaparc.gen.rbs
100
+ - sig/yaparc.rbs
101
+ - yaparc.gemspec
102
+ homepage: https://git.disroot.org/gemmaro/yaparc
103
+ licenses: []
104
+ metadata:
105
+ rubygems_mfa_required: 'true'
106
+ bug_tracker_uri: https://git.disroot.org/gemmaro/yaparc/issues
107
+ changelog_uri: https://git.disroot.org/gemmaro/yaparc/src/branch/main/CHANGELOG.md
108
+ documentation_uri: https://rubydoc.info/gems/yaparc
109
+ homepage_uri: https://git.disroot.org/gemmaro/yaparc
110
+ source_code_uri: https://git.disroot.org/gemmaro/yaparc
111
+ wiki_uri: https://git.disroot.org/gemmaro/yaparc/wiki
41
112
  rdoc_options: []
42
-
43
- require_paths:
113
+ require_paths:
44
114
  - lib
45
- required_ruby_version: !ruby/object:Gem::Requirement
46
- requirements:
115
+ required_ruby_version: !ruby/object:Gem::Requirement
116
+ requirements:
47
117
  - - ">="
48
- - !ruby/object:Gem::Version
49
- version: "0"
50
- version:
51
- required_rubygems_version: !ruby/object:Gem::Requirement
52
- requirements:
118
+ - !ruby/object:Gem::Version
119
+ version: 3.1.6
120
+ required_rubygems_version: !ruby/object:Gem::Requirement
121
+ requirements:
53
122
  - - ">="
54
- - !ruby/object:Gem::Version
55
- version: "0"
56
- version:
123
+ - !ruby/object:Gem::Version
124
+ version: '0'
57
125
  requirements: []
58
-
59
- rubyforge_project: yaparc
60
- rubygems_version: 1.3.1
61
- signing_key:
62
- specification_version: 2
63
- summary: Yet Another Combinator Parser Library
64
- test_files:
65
- - test/test_sql.rb
66
- - test/test_lambda.rb
67
- - test/test_calc.rb
68
- - test/test_uri.rb
69
- - test/test_parser.rb
70
- - test/test_owl.rb
71
- - test/test_metric.rb
72
- - test/test_prolog.rb
126
+ rubygems_version: 4.0.10
127
+ specification_version: 4
128
+ summary: Yet another simple parser combinator library
129
+ test_files: []
data/test/n3-report.html DELETED
@@ -1,169 +0,0 @@
1
- <html><head><title>BNF</title></head><body>
2
- <h1>BNF</h1>
3
- <p>Productions are in normal type, linked to their definitions.<br>
4
- <em>Regular expressions are in italics</em><br>
5
- <b><code>Literal characters in quoted in bold</code></b><br>
6
- <em>void</em> means an empty production.
7
- </p>
8
- <dl>
9
- <dt><a name="barename">barename</a></dt><dd>
10
- <p><em>[A-Z_a-zÀ-ÖØ-öø-˿Ͱ-ͽͿ-῿‌-‍⁰-↏Ⰰ-⿯、-퟿豈-﷏ﷰ-�𐀀-󯿿][\-0-9A-Z_a-z·À-ÖØ-öø-ͽͿ-῿‌-‍‿-⁀⁰-↏Ⰰ-⿯、-퟿豈-﷏ﷰ-�𐀀-󯿿]*</em></p>
11
- </dd>
12
- <dt><a name="barename_csl">barename_csl</a></dt><dd>
13
- <p><a href="#barename">barename</a> <a href="#barename_csl_tail">barename_csl_tail</a></p>
14
- <p><em>void</em></p>
15
- </dd>
16
- <dt><a name="barename_csl_tail">barename_csl_tail</a></dt><dd>
17
- <p><b><code>","</code></b> <a href="#barename">barename</a> <a href="#barename_csl_tail">barename_csl_tail</a></p>
18
- <p><em>void</em></p>
19
- </dd>
20
- <dt><a name="boolean">boolean</a></dt><dd>
21
- <p><b><code>"@false"</code></b></p>
22
- <p><b><code>"@true"</code></b></p>
23
- </dd>
24
- <dt><a name="decimal">decimal</a></dt><dd>
25
- <p><em>[-+]?[0-9]+(\.[0-9]+)?</em></p>
26
- </dd>
27
- <dt><a name="declaration">declaration</a></dt><dd>
28
- <p><b><code>"@base"</code></b> <a href="#explicituri">explicituri</a></p>
29
- <p><b><code>"@keywords"</code></b> <a href="#barename_csl">barename_csl</a></p>
30
- <p><b><code>"@prefix"</code></b> <a href="#prefix">prefix</a> <a href="#explicituri">explicituri</a></p>
31
- </dd>
32
- <dt><a name="document">document</a></dt><dd>
33
- <p><a href="#statements_optional">statements_optional</a> <em>EOF</em></p>
34
- </dd>
35
- <dt><a name="double">double</a></dt><dd>
36
- <p><em>[-+]?[0-9]+(\.[0-9]+)?([eE][-+]?[0-9]+)</em></p>
37
- </dd>
38
- <dt><a name="dtlang">dtlang</a></dt><dd>
39
- <p><b><code>"@"</code></b> <a href="#langcode">langcode</a></p>
40
- <p><b><code>"^^"</code></b> <a href="#symbol">symbol</a></p>
41
- <p><em>void</em></p>
42
- </dd>
43
- <dt><a name="existential">existential</a></dt><dd>
44
- <p><b><code>"@forSome"</code></b> <a href="#symbol_csl">symbol_csl</a></p>
45
- </dd>
46
- <dt><a name="explicituri">explicituri</a></dt><dd>
47
- <p><em>&lt;[^&gt;]*&gt;</em></p>
48
- </dd>
49
- <dt><a name="expression">expression</a></dt><dd>
50
- <p><a href="#pathitem">pathitem</a> <a href="#pathtail">pathtail</a></p>
51
- </dd>
52
- <dt><a name="formulacontent">formulacontent</a></dt><dd>
53
- <p><a href="#statementlist">statementlist</a></p>
54
- </dd>
55
- <dt><a name="integer">integer</a></dt><dd>
56
- <p><em>[-+]?[0-9]+</em></p>
57
- </dd>
58
- <dt><a name="langcode">langcode</a></dt><dd>
59
- <p><em>[a-z]+(-[a-z0-9]+)*</em></p>
60
- </dd>
61
- <dt><a name="literal">literal</a></dt><dd>
62
- <p><a href="#string">string</a> <a href="#dtlang">dtlang</a></p>
63
- </dd>
64
- <dt><a name="numericliteral">numericliteral</a></dt><dd>
65
- <p><a href="#decimal">decimal</a></p>
66
- <p><a href="#double">double</a></p>
67
- <p><a href="#integer">integer</a></p>
68
- </dd>
69
- <dt><a name="object">object</a></dt><dd>
70
- <p><a href="#expression">expression</a></p>
71
- </dd>
72
- <dt><a name="objecttail">objecttail</a></dt><dd>
73
- <p><b><code>","</code></b> <a href="#object">object</a> <a href="#objecttail">objecttail</a></p>
74
- <p><em>void</em></p>
75
- </dd>
76
- <dt><a name="pathitem">pathitem</a></dt><dd>
77
- <p><a href="#boolean">boolean</a></p>
78
- <p><a href="#literal">literal</a></p>
79
- <p><a href="#numericliteral">numericliteral</a></p>
80
- <p><a href="#quickvariable">quickvariable</a></p>
81
- <p><a href="#symbol">symbol</a></p>
82
- <p><b><code>"("</code></b> <a href="#pathlist">pathlist</a> <b><code>")"</code></b></p>
83
- <p><b><code>"["</code></b> <a href="#propertylist">propertylist</a> <b><code>"]"</code></b></p>
84
- <p><b><code>"{"</code></b> <a href="#formulacontent">formulacontent</a> <b><code>"}"</code></b></p>
85
- </dd>
86
- <dt><a name="pathlist">pathlist</a></dt><dd>
87
- <p><a href="#expression">expression</a> <a href="#pathlist">pathlist</a></p>
88
- <p><em>void</em></p>
89
- </dd>
90
- <dt><a name="pathtail">pathtail</a></dt><dd>
91
- <p><b><code>"!"</code></b> <a href="#expression">expression</a></p>
92
- <p><b><code>"^"</code></b> <a href="#expression">expression</a></p>
93
- <p><em>void</em></p>
94
- </dd>
95
- <dt><a name="prefix">prefix</a></dt><dd>
96
- <p><em>([A-Z_a-zÀ-ÖØ-öø-˿Ͱ-ͽͿ-῿‌-‍⁰-↏Ⰰ-⿯、-퟿豈-﷏ﷰ-�𐀀-󯿿][\-0-9A-Z_a-z·À-ÖØ-öø-ͽͿ-῿‌-‍‿-⁀⁰-↏Ⰰ-⿯、-퟿豈-﷏ﷰ-�𐀀-󯿿]*)?:</em></p>
97
- </dd>
98
- <dt><a name="propertylist">propertylist</a></dt><dd>
99
- <p><a href="#verb">verb</a> <a href="#object">object</a> <a href="#objecttail">objecttail</a> <a href="#propertylisttail">propertylisttail</a></p>
100
- <p><em>void</em></p>
101
- </dd>
102
- <dt><a name="propertylisttail">propertylisttail</a></dt><dd>
103
- <p><b><code>";"</code></b> <a href="#propertylist">propertylist</a></p>
104
- <p><em>void</em></p>
105
- </dd>
106
- <dt><a name="qname">qname</a></dt><dd>
107
- <p><em>(([A
108
- -Z_a-zÀ-ÖØ-öø-˿Ͱ-ͽͿ-῿‌-‍⁰-↏Ⰰ-⿯、-퟿豈-﷏ﷰ-�𐀀-󯿿][\-0-9A-Z_a-z·À-ÖØ-öø-ͽͿ-῿‌
109
- -‍‿-⁀⁰-↏Ⰰ-⿯、-퟿豈-﷏ﷰ-�𐀀-󯿿]*)?:)?[A-Z_a-zÀ-ÖØ-öø-˿Ͱ-ͽͿ-῿‌-‍⁰-↏Ⰰ-⿯、-퟿豈-﷏ﷰ-
110
- �𐀀-󯿿][\-0-9A-Z_a-z·À-ÖØ-öø-ͽͿ-῿‌-‍‿-⁀⁰-↏Ⰰ-⿯、-퟿豈-﷏ﷰ-�𐀀-󯿿]*</em></p>
111
- </dd>
112
- <dt><a name="quickvariable">quickvariable</a></dt><dd>
113
- <p><em>\?[A-Z_a-zÀ-ÖØ-öø-˿Ͱ-ͽͿ-῿‌-‍⁰-↏Ⰰ-⿯、-퟿豈-﷏ﷰ-�𐀀-󯿿][\-0-9A-Z_a-z·À-ÖØ-öø-ͽͿ-῿‌-‍‿-⁀⁰-↏Ⰰ-⿯、-퟿豈-﷏ﷰ-�𐀀-󯿿]*</em></p>
114
- </dd>
115
- <dt><a name="simpleStatement">simpleStatement</a></dt><dd>
116
- <p><a href="#subject">subject</a> <a href="#propertylist">propertylist</a></p>
117
- </dd>
118
- <dt><a name="statement">statement</a></dt><dd>
119
- <p><a href="#declaration">declaration</a></p>
120
- <p><a href="#existential">existential</a></p>
121
- <p><a href="#simpleStatement">simpleStatement</a></p>
122
- <p><a href="#universal">universal</a></p>
123
- </dd>
124
- <dt><a name="statementlist">statementlist</a></dt><dd>
125
- <p><a href="#statement">statement</a> <a href="#statementtail">statementtail</a></p>
126
- <p><em>void</em></p>
127
- </dd>
128
- <dt><a name="statements_optional">statements_optional</a></dt><dd>
129
- <p><a href="#statement">statement</a> <b><code>"."</code></b> <a href="#statements_optional">statements_optional</a></p>
130
- <p><em>void</em></p>
131
- </dd>
132
- <dt><a name="statementtail">statementtail</a></dt><dd>
133
- <p><b><code>"."</code></b> <a href="#statementlist">statementlist</a></p>
134
- <p><em>void</em></p>
135
- </dd>
136
- <dt><a name="string">string</a></dt><dd>
137
- <p><em>("""[^"\\]*(?:(?:\\.|"(?!""))[^"\\]*)*""")|("[^"\\]*(?:\\.[^"\\]*)*")</em></p>
138
- </dd>
139
- <dt><a name="subject">subject</a></dt><dd>
140
- <p><a href="#expression">expression</a></p>
141
- </dd>
142
- <dt><a name="symbol">symbol</a></dt><dd>
143
- <p><a href="#explicituri">explicituri</a></p>
144
- <p><a href="#qname">qname</a></p>
145
- </dd>
146
- <dt><a name="symbol_csl">symbol_csl</a></dt><dd>
147
- <p><a href="#symbol">symbol</a> <a href="#symbol_csl_tail">symbol_csl_tail</a></p>
148
- <p><em>void</em></p>
149
- </dd>
150
- <dt><a name="symbol_csl_tail">symbol_csl_tail</a></dt><dd>
151
- <p><b><code>","</code></b> <a href="#symbol">symbol</a> <a href="#symbol_csl_tail">symbol_csl_tail</a></p>
152
- <p><em>void</em></p>
153
- </dd>
154
- <dt><a name="universal">universal</a></dt><dd>
155
- <p><b><code>"@forAll"</code></b> <a href="#symbol_csl">symbol_csl</a></p>
156
- </dd>
157
- <dt><a name="verb">verb</a></dt><dd>
158
- <p><a href="#expression">expression</a></p>
159
- <p><b><code>"&lt;="</code></b></p>
160
- <p><b><code>"="</code></b></p>
161
- <p><b><code>"=&gt;"</code></b></p>
162
- <p><b><code>"@a"</code></b></p>
163
- <p><b><code>"@has"</code></b> <a href="#expression">expression</a></p>
164
- <p><b><code>"@is"</code></b> <a href="#expression">expression</a> <b><code>"@of"</code></b></p>
165
- </dd>
166
-
167
- </dl>
168
-
169
- </body></html>