@@ -24,12 +24,38 @@ information and grammar checking.
2424To create a parser instance, the ` TypeLang\Parser\Parser ` class is used.
2525To run code analysis, you should use the ` parse() ` method.
2626
27- <deflist >
28- <def title =" Method signature " >
27+ ``` php
28+ $parser = new TypeLang\Parser\Parser();
29+
30+ $result = $parser->parse('example');
31+ ```
32+
33+ ``` php
34+ TypeLang\Parser\Node\Stmt\NamedTypeNode {
35+ +offset: 0
36+ +name: TypeLang\Parser\Node\Name {
37+ +offset: 0
38+ -parts: array:1 [
39+ 0 => TypeLang\Parser\Node\Identifier {
40+ +offset: 0
41+ +value: "example"
42+ }
43+ ]
44+ }
45+ +arguments: null
46+ +fields: null
47+ }
48+ ```
49+ {collapsible="true" collapsed-title="Result"}
50+
51+ ### Parser Arguments
2952
30- The first argument of the ` parse() ` method corresponds to the source code data
53+ The first argument of the ` TypeLang\Parser\Parser:: parse(<source> )` method corresponds to the source code data
3154and can be of the following types:
3255
56+ <deflist >
57+ <def title =" Method signature " >
58+
3359<tabs >
3460 <tab title =" string " >
3561
@@ -66,130 +92,3 @@ and can be of the following types:
6692</tabs >
6793</def >
6894</deflist >
69-
70- ``` php
71- $parser = new TypeLang\Parser\Parser();
72-
73- $result = $parser->parse(<<<'PHP'
74- array<array-key , object{
75- key: int <0, max >,
76- ...
77- }>
78- PHP);
79-
80- var_dump($result);
81- ```
82- {prompt="1"}
83-
84-
85- ``` php
86- TypeLang\Parser\Node\Stmt\NamedTypeNode {
87- +offset: 0
88- +name: TypeLang\Parser\Node\Name {
89- +offset: 0
90- -parts: array:1 [
91- 0 => TypeLang\Parser\Node\Identifier {
92- +offset: 0
93- +value: "array"
94- }
95- ]
96- }
97- +arguments: TypeLang\Parser\Node\Stmt\Template\ArgumentsListNode {
98- +offset: 5
99- +items: array:2 [
100- 0 => TypeLang\Parser\Node\Stmt\Template\ArgumentNode {
101- +offset: 6
102- +value: TypeLang\Parser\Node\Stmt\NamedTypeNode {
103- +offset: 6
104- +name: TypeLang\Parser\Node\Name {
105- +offset: 6
106- -parts: array:1 [
107- 0 => TypeLang\Parser\Node\Identifier {
108- +offset: 6
109- +value: "array-key"
110- }
111- ]
112- }
113- +arguments: null
114- +fields: null
115- }
116- }
117- 1 => TypeLang\Parser\Node\Stmt\Template\ArgumentNode {
118- +offset: 17
119- +value: TypeLang\Parser\Node\Stmt\NamedTypeNode {
120- +offset: 17
121- +name: TypeLang\Parser\Node\Name {
122- +offset: 17
123- -parts: array:1 [
124- 0 => TypeLang\Parser\Node\Identifier {
125- +offset: 17
126- +value: "object"
127- }
128- ]
129- }
130- +arguments: null
131- +fields: TypeLang\Parser\Node\Stmt\Shape\FieldsListNode {
132- +offset: 27
133- +items: array:1 [
134- 0 => TypeLang\Parser\Node\Stmt\Shape\NamedFieldNode {
135- +offset: 27
136- +type: TypeLang\Parser\Node\Stmt\NamedTypeNode {
137- +offset: 32
138- +name: TypeLang\Parser\Node\Name {
139- +offset: 32
140- -parts: array:1 [
141- 0 => TypeLang\Parser\Node\Identifier {
142- +offset: 32
143- +value: "int"
144- }
145- ]
146- }
147- +arguments: TypeLang\Parser\Node\Stmt\Template\ArgumentsListNode {
148- +offset: 35
149- +items: array:2 [
150- 0 => TypeLang\Parser\Node\Stmt\Template\ArgumentNode {
151- +offset: 36
152- +value: TypeLang\Parser\Node\Literal\IntLiteralNode {
153- +offset: 36
154- +raw: "0"
155- +value: 0
156- }
157- }
158- 1 => TypeLang\Parser\Node\Stmt\Template\ArgumentNode {
159- +offset: 39
160- +value: TypeLang\Parser\Node\Stmt\NamedTypeNode {
161- +offset: 39
162- +name: TypeLang\Parser\Node\Name {
163- +offset: 39
164- -parts: array:1 [
165- 0 => TypeLang\Parser\Node\Identifier {
166- +offset: 39
167- +value: "max"
168- }
169- ]
170- }
171- +arguments: null
172- +fields: null
173- }
174- }
175- ]
176- }
177- +fields: null
178- }
179- +optional: false
180- +key: TypeLang\Parser\Node\Identifier {
181- +offset: 27
182- +value: "key"
183- }
184- }
185- ]
186- +sealed: false
187- }
188- }
189- }
190- ]
191- }
192- +fields: null
193- }
194- ```
195- {collapsible="true" collapsed-title="Result"}
0 commit comments