Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Refactor generator codes #207

Open
1 of 3 tasks
romandev opened this issue Nov 25, 2017 · 0 comments
Open
1 of 3 tasks

Refactor generator codes #207

romandev opened this issue Nov 25, 2017 · 0 comments

Comments

@romandev
Copy link
Member

I'm submitting a ...

  • bug report
  • feature request
  • support request

General infomration

Description

As code complexity increases in the current implementation, readability and test coverage has been poor. So, we need to refactor the WebIDL generator.

romandev added a commit that referenced this issue Nov 25, 2017
This is a new initial implementation of WebIDL compiler. It has the
following differences compared to the existing one.
  - It is built by `gulp` instead of `gyp`
  - No longer build `generator` and `webidl` separately

ISSUE=#207
romandev added a commit that referenced this issue Nov 25, 2017
This is a new initial implementation of WebIDL compiler. It has the
following differences compared to the existing one.
  - It is built by `gulp` instead of `gyp`
  - No longer build `generator` and `webidl` separately

ISSUE=#207
romandev added a commit that referenced this issue Nov 25, 2017
This is a new initial implementation of WebIDL compiler. It has the
following differences compared to the existing one.
  - It is built by `gulp` instead of `gyp`
  - No longer build `generator` and `webidl` separately

ISSUE=#207
romandev added a commit that referenced this issue Nov 25, 2017
This is a new initial implementation of WebIDL compiler. It has the
following differences compared to the existing one.
  - It is built by `gulp` instead of `gyp`
  - No longer build `generator` and `webidl` separately

ISSUE=#207
romandev added a commit that referenced this issue Nov 25, 2017
This is a new initial implementation of WebIDL compiler. It has the
following differences compared to the existing one.
  - It is built by `gulp` instead of `gyp`
  - No longer build `generator` and `webidl` separately

ISSUE=#207
romandev added a commit that referenced this issue Nov 25, 2017
This is a new initial implementation of WebIDL compiler. It has the
following differences compared to the existing one.
  - It is built by `gulp` instead of `gyp`
  - No longer build `generator` and `webidl` separately

ISSUE=#207
romandev added a commit that referenced this issue Nov 25, 2017
This is a new initial implementation of WebIDL compiler. It has the
following differences compared to the existing one.
  - It is built by `gulp` instead of `gyp`
  - No longer build `generator` and `webidl` separately

ISSUE=#207
romandev added a commit that referenced this issue Nov 25, 2017
This is a new initial implementation of WebIDL compiler. It has the
following differences compared to the existing one.
  - It is built by `gulp` instead of `gyp`
  - No longer build `generator` and `webidl` separately

ISSUE=#207
romandev added a commit that referenced this issue Nov 25, 2017
This patch includes the following things:
  - Implement reading WebIDL files as IDL fragments in parallel.
  - Introduce a new parser to process individual IDL fragment.
    In this patch, it just creates AST(Abstract Syntax Tree) for now
    by using WebIDL2 parser.
  - Add `base/` and `new_parsaer/` to lint target list.

ISSUE=#207
romandev added a commit that referenced this issue Nov 25, 2017
This patch includes the following things:
  - Implement reading WebIDL files as IDL fragments in parallel.
  - Introduce a new parser to process individual IDL fragment.
    In this patch, it just creates AST(Abstract Syntax Tree) for now
    by using WebIDL2 parser.
  - Add `base/` and `new_parsaer/` to lint target list.

ISSUE=#207
romandev added a commit that referenced this issue Nov 26, 2017
This patch includes the following things:
  - Implement reading WebIDL files as IDL fragments in parallel.
  - Introduce a new parser to process individual IDL fragment.
    In this patch, it just creates AST(Abstract Syntax Tree) for now
    by using WebIDL2 parser.
  - Add `base/` and `new_parsaer/` to lint target list.

ISSUE=#207
romandev added a commit that referenced this issue Dec 20, 2017
The `DefinitionInfoMap` is a maplike data structure that manages
`DefinitionInfo` by IDL definition type name. It is exposed to global
scope. It will be used for constructing IR(Intermediate Result) later.

ISSUE=#207
romandev added a commit that referenced this issue Dec 20, 2017
The `DefinitionInfoMap` is a maplike data structure that manages
`DefinitionInfo` by IDL definition type name. It is exposed to global
scope. It will be used for constructing IR(Intermediate Result) later.

ISSUE=#207
romandev added a commit that referenced this issue Dec 20, 2017
The `DefinitionInfoMap` is a maplike data structure that manages
`DefinitionInfo` by IDL definition type name. It is exposed to global
scope. It will be used for constructing IR(Intermediate Result) later.

ISSUE=#207
romandev added a commit that referenced this issue Dec 20, 2017
The `DefinitionInfoMap` is a maplike data structure that manages
`DefinitionInfo` by IDL definition type name. It is exposed to global
scope. It will be used for constructing IR(Intermediate Result) later.

ISSUE=#207
romandev added a commit that referenced this issue Dec 20, 2017
The `DefinitionInfoMap` is a maplike data structure that manages
`DefinitionInfo` by IDL definition type name. It is exposed to global
scope. It will be used for constructing IR(Intermediate Result) later.

ISSUE=#207
romandev added a commit that referenced this issue Dec 20, 2017
After this patch, `DefinitionInfoMap` can process `interface` and
`partial interface`. Other definitions will be ignored for now.

ISSUE=#207
romandev added a commit that referenced this issue Dec 20, 2017
After this patch, `DefinitionInfoMap` can process `interface` and
`partial interface`. Other definitions will be ignored for now.

ISSUE=#207
romandev added a commit that referenced this issue Dec 20, 2017
After this patch, `DefinitionInfoMap` can process `interface` and
`partial interface`. Other definitions will be ignored for now.

ISSUE=#207
romandev added a commit that referenced this issue Dec 20, 2017
After this patch, `DefinitionInfoMap` can process `interface` and
`partial interface`. Other definitions will be ignored for now.

ISSUE=#207
romandev added a commit that referenced this issue Dec 27, 2017
After this patch, `DefinitionInfoMap` can process `dictionary` and
`partial dictionary`. Other definitions will be ignored for now.

ISSUE=#207
romandev added a commit that referenced this issue Dec 27, 2017
…223)

After this patch, `DefinitionInfoMap` can process `dictionary` and
`partial dictionary`. Other definitions will be ignored for now.

ISSUE=#207
romandev added a commit that referenced this issue Dec 27, 2017
After this patch, `DefinitionInfoMap` can process `enum`. Other
definitions will be ignored for now.

ISSUE=#207
romandev added a commit that referenced this issue Dec 27, 2017
After this patch, `DefinitionInfoMap` can process `enum`. Other
definitions will be ignored for now.

ISSUE=#207
romandev added a commit that referenced this issue Jan 4, 2018
This change includes the following things:
  - Rename definition_info_map, definition_info with idl_type_map,
    idl_types
  - Sort IDL types matching with upstream (WebIDL2 parser) and add
    related links
  - Move generator/new_parser/ to core/parser/

ISSUE=#207
romandev added a commit that referenced this issue Jan 4, 2018
This change includes the following things:
  - Rename definition_info_map, definition_info with idl_type_map,
    idl_types
  - Sort IDL types matching with upstream (WebIDL2 parser) and add
    related links
  - Move generator/new_parser/ to core/parser/

ISSUE=#207
romandev added a commit that referenced this issue Jan 11, 2018
This change splits core codes into detailed steps in high-level.
  - parser: The parser module is responsible for webidl parsing using
    the webidl2 parser internally. In this step, should create a unique
    type map(key: definition type name, value: AST) as an output.
  - constructor: The constructor module is responsible for constructing
    definition object to generate binding code in generate module.
  - generator: The generator module is responsible for generating actual
    native binding codes.

ISSUE=#207
romandev added a commit that referenced this issue Jan 18, 2018
This change splits core codes into detailed steps in high-level.
  - parser: The parser module is responsible for webidl parsing using
    the webidl2 parser internally. In this step, should create a unique
    type map(key: definition type name, value: AST) as an output.
  - constructor: The constructor module is responsible for constructing
    definition object to generate binding code in generate module.
  - generator: The generator module is responsible for generating actual
    native binding codes.

ISSUE=#207
romandev added a commit that referenced this issue Feb 14, 2018
This change splits core codes into detailed steps in high-level.
  - parser: The parser module is responsible for webidl parsing using
    the webidl2 parser internally. In this step, should create a unique
    type map(key: definition type name, value: AST) as an output.
  - constructor: The constructor module is responsible for constructing
    definition object to generate binding code in generate module.
  - generator: The generator module is responsible for generating actual
    native binding codes.

ISSUE=#207
romandev added a commit that referenced this issue Feb 14, 2018
…229)

This change splits core codes into detailed steps in high-level.
  - parser: The parser module is responsible for webidl parsing using
    the webidl2 parser internally. In this step, should create a unique
    type map(key: definition type name, value: AST) as an output.
  - constructor: The constructor module is responsible for constructing
    definition object to generate binding code in generate module.
  - generator: The generator module is responsible for generating actual
    native binding codes.

ISSUE=#207
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant