1
0
mirror of https://github.com/vlang/v.git synced 2023-08-10 21:13:21 +03:00

contributing.md: minor fixes

This commit is contained in:
Alexander Medvednikov 2020-03-15 09:21:31 +01:00
parent a0e97e0e6e
commit d10c1c36a9

View File

@ -17,17 +17,16 @@ The main files are:
- Creates a parser object for each file and runs `parse()` on them. - Creates a parser object for each file and runs `parse()` on them.
- The correct backend is called (C, JS, x64), and a binary is compiled. - The correct backend is called (C, JS, x64), and a binary is compiled.
2. `v/parser` The parser. It converts a list of tokens into an AST. 2. `v/scanner` The scanner's job is to parse a list of characters and convert
In V, objects can be used before declaration, so unknown types are marked as unresolved.
They are resolved later in the type checker.
3. `v/scanner` The scanner's job is to parse a list of characters and convert
them to tokens. them to tokens.
4. `v/token` This is simply a list of all tokens, their string values, and a 3. `v/token` This is simply a list of all tokens, their string values, and a
couple of helper functions. couple of helper functions.
4. `v/parser` The parser. It converts a list of tokens into an AST.
In V, objects can be used before declaration, so unknown types are marked as unresolved.
They are resolved later in the type checker.
5. `v/table` V creates one table object that is shared by all parsers. It 5. `v/table` V creates one table object that is shared by all parsers. It
contains all types, consts, and functions, as well as several helpers to search contains all types, consts, and functions, as well as several helpers to search
for objects by name, register new objects, modify types' fields, etc. for objects by name, register new objects, modify types' fields, etc.
@ -52,8 +51,8 @@ support of the x64 platform/ELF format.
The rest of the directories are vlib modules: `builtin/` (strings, arrays, The rest of the directories are vlib modules: `builtin/` (strings, arrays,
maps), `time/`, `os/`, etc. Their documentation is pretty clear. maps), `time/`, `os/`, etc. Their documentation is pretty clear.
## Example Workflow for Contributing ##### (provided by ## Example Workflow for Contributing
[@spytheman](https://github.com/spytheman)) (provided by [@spytheman](https://github.com/spytheman))
(If you don't already have a GitHub account, please create one. Your GitHub (If you don't already have a GitHub account, please create one. Your GitHub
username will be referred to later as 'YOUR_GITHUB_USERNAME'. Change it username will be referred to later as 'YOUR_GITHUB_USERNAME'. Change it