solc-typed-ast
A TypeScript package providing a normalized typed Solidity AST along with the utilities necessary to generate the AST (from Solc) and traverse/manipulate it.
파일 탐색기
최종 버전 다운로드 (.zip)- bug.md
- feature.md
- general.md
- docs.yaml
- node.js.yaml
- npm.yaml
- settings.json
- Dockerfile
- download.sh
- comment.ts
- comments_grammar.pegjs
- comments_parser_header.ts
- index.ts
- contract_definition.ts
- enum_definition.ts
- enum_value.ts
- error_definition.ts
- event_definition.ts
- function_definition.ts
- index.ts
- modifier_definition.ts
- struct_definition.ts
- user_defined_value_type_definition.ts
- variable_declaration.ts
- assignment.ts
- binary_operation.ts
- conditional.ts
- elementary_type_name_expression.ts
- expression.ts
- function_call.ts
- function_call_options.ts
- identifier.ts
- index.ts
- index_access.ts
- index_range_access.ts
- literal.ts
- member_access.ts
- new_expression.ts
- primary_expression.ts
- tuple_expression.ts
- unary_operation.ts
- identifier_path.ts
- import_directive.ts
- index.ts
- inheritance_specifier.ts
- modifier_invocation.ts
- override_specifier.ts
- parameter_list.ts
- pragma_directive.ts
- source_unit.ts
- structured_documentation.ts
- using_for_directive.ts
- block.ts
- break.ts
- continue.ts
- do_while_statement.ts
- emit_statement.ts
- expression_statement.ts
- for_statement.ts
- if_statement.ts
- index.ts
- inline_assembly.ts
- placeholder_statement.ts
- return.ts
- revert_statement.ts
- statement.ts
- throw.ts
- try_catch_clause.ts
- try_statement.ts
- unchecked_block.ts
- variable_declaration_statement.ts
- while_statement.ts
- array_type_name.ts
- elementary_type_name.ts
- function_type_name.ts
- index.ts
- mapping.ts
- type_name.ts
- user_defined_type_name.ts
- array_type_name_processor.ts
- assignment_processor.ts
- binary_operation_processor.ts
- block_processor.ts
- break_processor.ts
- conditional_processor.ts
- configuration.ts
- continue_processor.ts
- contract_definition_processor.ts
- do_while_statement_processor.ts
- elementary_type_name_expression_processor.ts
- elementary_type_name_processor.ts
- emit_statement_processor.ts
- enum_definition_processor.ts
- enum_value_processor.ts
- event_definition_processor.ts
- expression_processor.ts
- expression_statement_processor.ts
- for_statement_processor.ts
- function_call_options_processor.ts
- function_call_processor.ts
- function_definition_processor.ts
- function_type_name_processor.ts
- identifier_processor.ts
- if_statement_processor.ts
- import_directive_processor.ts
- index.ts
- index_access_processor.ts
- index_range_access_processor.ts
- inheritance_specifier_processor.ts
- inline_assembly_processor.ts
- literal_processor.ts
- mapping_processor.ts
- member_access_processor.ts
- modifier_definition_processor.ts
- modifier_invocation_processor.ts
- new_expression_processor.ts
- node_processor.ts
- override_specifier_processor.ts
- parameter_list_processor.ts
- placeholder_statement_processor.ts
- pragma_directive_processor.ts
- return_processor.ts
- source_unit_processor.ts
- struct_definition_processor.ts
- structured_documentation_processor.ts
- throw_processor.ts
- try_catch_clause_processor.ts
- try_statement_processor.ts
- tuple_expression_processor.ts
- type_name_processor.ts
- unary_operation_processor.ts
- user_defined_type_name_processor.ts
- using_for_directive_processor.ts
- variable_declaration_processor.ts
- variable_declaration_statement_processor.ts
- while_statement_processor.ts
- array_type_name_processor.ts
- assignment_processor.ts
- binary_operation_processor.ts
- block_processor.ts
- break_processor.ts
- conditional_processor.ts
- configuration.ts
- continue_processor.ts
- contract_definition_processor.ts
- do_while_statement_processor.ts
- elementary_type_name_expression_processor.ts
- elementary_type_name_processor.ts
- emit_statement_processor.ts
- enum_definition_processor.ts
- enum_value_processor.ts
- error_definition_processor.ts
- event_definition_processor.ts
- expression_processor.ts
- expression_statement_processor.ts
- for_statement_processor.ts
- function_call_options_processor.ts
- function_call_processor.ts
- function_definition_processor.ts
- function_type_name_processor.ts
- identifier_path_processor.ts
- identifier_processor.ts
- if_statement_processor.ts
- import_directive_processor.ts
- index.ts
- index_access_processor.ts
- index_range_access_processor.ts
- inheritance_specifier_processor.ts
- inline_assembly_processor.ts
- literal_processor.ts
- mapping_processor.ts
- member_access_processor.ts
- modifier_definition_processor.ts
- modifier_invocation_processor.ts
- new_expression_processor.ts
- node_processor.ts
- override_specifier_processor.ts
- parameter_list_processor.ts
- placeholder_statement_processor.ts
- pragma_directive_processor.ts
- return_processor.ts
- revert_statement_processor.ts
- source_unit_processor.ts
- struct_definition_processor.ts
- structured_documentation_processor.ts
- throw_processor.ts
- try_catch_clause_processor.ts
- try_statement_processor.ts
- tuple_expression_processor.ts
- type_name_processor.ts
- unary_operation_processor.ts
- unchecked_block_processor.ts
- user_defined_type_name_processor.ts
- user_defined_value_type_definition_processor.ts
- using_for_directive_processor.ts
- variable_declaration_processor.ts
- variable_declaration_statement_processor.ts
- while_statement_processor.ts
- builtin_referenced_declaration_normalizer.ts
- index.ts
- list.ts
- structured_documentation_reconstruction.ts
- type_identifier_normalizer.ts
- ast_mapping.ts
- formatter.ts
- index.ts
- writer.ts
- yul_mapping.ts
- ast_node.ts
- ast_node_factory.ts
- ast_node_formatter.ts
- ast_reader.ts
- constants.ts
- definitions.ts
- dispatch.ts
- documentation.ts
- index.ts
- utils.ts
- xpath.ts
- compile.ts
- file_level_definitions.pegjs
- file_level_definitions_parser_header.ts
- imports.ts
- index.ts
- compiler.ts
- index.ts
- md.ts
- compiler_selection.ts
- constants.ts
- import_resolver.ts
- index.ts
- input.ts
- utils.ts
- version.ts
- index.ts
- location.ts
- node.ts
- pretty_printing.ts
- srcmap.ts
- struct_equality.ts
- unicode.ts
- utils.ts
- address.ts
- array_slice.ts
- array_type.ts
- base_user_defined_type.ts
- bool.ts
- builtin_struct.ts
- bytes.ts
- contract.ts
- enum.ts
- error.ts
- fixed_bytes.ts
- fixed_point.ts
- function.ts
- index.ts
- int.ts
- mapping.ts
- meta_type.ts
- modifier.ts
- module.ts
- packed_array.ts
- pointer.ts
- rational_num.ts
- string.ts
- string_literal.ts
- struct.ts
- super.ts
- tuple.ts
- type_identifier.ts
- type_type.ts
- user_defined_value_type.ts
- utils.ts
- abi.ts
- constants.ts
- index.ts
- signature.ts
- typeIdentifier_grammar.pegjs
- typeIdentifier_parser_header.ts
- utils.ts
- function_set.ts
- index.ts
- type_var.ts
- address.ts
- array.ts
- bool.ts
- builtin_function.ts
- builtin_struct_type.ts
- builtin_type.ts
- bytes.ts
- error.ts
- error_type.ts
- event_type.ts
- fixed_bytes.ts
- function_like_type.ts
- function_type.ts
- import_ref_type.ts
- index.ts
- int_literal.ts
- int_type.ts
- mapping_type.ts
- modifier_type.ts
- numeric_literal.ts
- packed_array_type.ts
- pointer.ts
- rational_literal.ts
- string.ts
- string_literal.ts
- super.ts
- tuple_type.ts
- type.ts
- typename_type.ts
- user_defined_type.ts
- abi.ts
- builtins.ts
- eval_const.ts
- index.ts
- infer.ts
- misc.ts
- polymorphic.ts
- reserved.ts
- utils.ts
- index.ts
- 04.spec.ts
- 05.spec.ts
- 06.spec.ts
- common.ts
- kinds.spec.ts
- latest_06.spec.ts
- latest_07.spec.ts
- latest_08.spec.ts
- copy.spec.ts
- replace_node.spec.ts
- invalid.spec.ts
- invalid.spec.ts
- valid.spec.ts
- invalid.spec.ts
- valid.spec.ts
- invalid.spec.ts
- valid.spec.ts
- compile.spec.ts
- snapshot.spec.ts
- contract_definitions.spec.ts
- contract_names.spec.ts
- is_custom_function.spec.ts
- struct_doc_recovery.spec.ts
- variables_count.spec.ts
- variables_of_specific_contract.spec.ts
- _.spec.ts
- _compile_errors.spec.ts
- common.ts
- download-compilers.spec.ts
- help.spec.ts
- locate-compiler-cache.spec.ts
- raw.spec.ts
- solidity_versions.spec.ts
- stdin.spec.ts
- tree.spec.ts
- version.spec.ts
- with-source.spec.ts
- snapshot.spec.ts
- solc_comparison.spec.ts
- external_calls.spec.ts
- infer.spec.ts
- typeIdentifiers.spec.ts
- typestrings.spec.ts
- eval_const.spec.ts
- code_and_ast.json
- code_empty.json
- code_main_in_sources.json
- code_main_source.json
- code_no_main.json
- invalid.json
- consts.sol
- lib_a.sol
- lib_b.sol
- contract_0413.json
- contract_0413.sol
- contract_050.json
- contract_050.nodes.native.txt
- contract_050.nodes.wasm.txt
- contract_050.sol
- contract_050.sourced.sol
- interface_060.sol
- interface_060.tree.txt
- v1.nodes.native.txt
- v1.nodes.wasm.txt
- v1.sol
- v2.sol
- v1.sol
- v2.nodes.native.txt
- v2.nodes.wasm.txt
- v2.sol
- assignment.sol
- assignment_0413.json
- assignment_050.json
- binary_operation_0413.json
- binary_operation_0413.sol
- binary_operation_050.json
- binary_operation_050.sol
- conditional_0413.json
- conditional_0413.sol
- conditional_0413.sourced.sol
- conditional_050.json
- conditional_050.sol
- tuple.sol
- tuple_0424.json
- tuple_050.json
- tuple_050.sourced.sol
- unary_operation_0413.json
- unary_operation_0413.sol
- unary_operation_050.json
- unary_operation_050.sol
- a.sol
- b.sol
- c.sol
- c.sourced.sol
- B.sol
- C.sol
- D.sol
- A.sol
- A_0413.json
- A_050.json
- pragma.sol
- pragma_0413.json
- pragma_050.json
- three_simple_contracts.sol
- three_simple_contracts_0413.json
- three_simple_contracts_050.json
- using_for.sol
- using_for_0413.json
- using_for_050.json
- X.sol
- Y.sol
- A.sol
- A_B.tree.txt
- A_B_C.tree.txt
- A_C.tree.txt
- B.sol
- C.sol
- remapped_contract.sol
- package_contract.sol
- package_lib.sol
- entry.sol
- A.sol
- B.sol
- block_04.sol
- block_05.sol
- boo.sol
- foo.sol
- id_paths.sol
- id_paths_lib.sol
- id_paths_lib2.sol
- imports_and_source_unit_function_overloading.sol
- inheritance_and_shadowing.sol
- resolving_08.sol
- shadowing_overloading_and_overriding.sol
- simple_shadowing.sol
- struct_assignments.sol
- sample00.sol
- sample00.sourced.sol
- sample01.sol
- sample01.sourced.sol
- block_0413.json
- block_0413.sol
- block_050.json
- block_050.sol
- do_while_0413.json
- do_while_0413.sol
- do_while_050.json
- do_while_050.sol
- do_while_050.sourced.sol
- emit_0421.json
- emit_0421.sol
- emit_050.json
- emit_050.sol
- expression_0413.json
- expression_0413.sol
- expression_050.json
- expression_050.sol
- for_0413.json
- for_0413.sol
- for_050.json
- for_050.sol
- for_050.sourced.sol
- if_0413.json
- if_0413.sol
- if_0413.sourced.sol
- if_050.json
- if_050.sol
- inline_assembly_0413.json
- inline_assembly_0413.sol
- inline_assembly_050.json
- inline_assembly_050.sol
- inline_assembly_060.sol
- inline_assembly_060.sourced.sol
- placeholder_0413.json
- placeholder_0413.sol
- placeholder_050.json
- placeholder_050.sol
- return_0413.json
- return_0413.sol
- return_050.json
- return_050.sol
- throw_0413.json
- throw_0413.sol
- variable_declaration_0413.json
- variable_declaration_0413.sol
- variable_declaration_0413.sourced.sol
- variable_declaration_050.json
- variable_declaration_050.sol
- variable_declaration_050.sourced.sol
- while_0413.json
- while_0413.sol
- while_050.json
- while_050.sol
- while_050.sourced.sol
- sample00.sol
- sample01.sol
- sample02.sol
- sample03.sol
- types.sol
- types_0413.json
- types_050.json
- any.json
- any.sol
- any_json.any
- any_sol.any
- builtins_0426.sol
- builtins_0816.sol
- compile_04.sol
- compile_04.sourced.sol
- compile_05.sol
- compile_05.sourced.sol
- compile_06.sol
- compile_06.sourced.sol
- constant_expressions.sol
- decoding_test.sol
- dispatch_05.json
- dispatch_05.sol
- dispatch_05.sourced.sol
- error.sol
- error_0413.json
- error_050.json
- error_060.json
- features_0824.sol
- fun_selectors.sol
- fun_selectors.tree.txt
- getters_07.sol
- getters_07_abiv1.sol
- getters_08.sol
- interface_id.sol
- interface_id.tree.txt
- issue_132_fun_kind.nodes.native.txt
- issue_132_fun_kind.nodes.wasm.txt
- issue_132_fun_kind.sol
- latest_06.sol
- latest_06.sourced.sm.sol
- latest_06.sourced.sol
- latest_07.sol
- latest_07.sourced.sol
- latest_07_no_unicode.sol
- latest_08.nodes.native.txt
- latest_08.nodes.wasm.txt
- latest_08.sol
- latest_08.sourced.sol
- latest_imports_08.sol
- library_fun_overloads.sol
- library_fun_overloads.tree.txt
- looks_same_075.sol
- looks_same_075.sourced.sm.sol
- missing_pragma.sol
- node.sol
- node_0413.json
- node_050.json
- ops.sol
- selectors.sol
- selectors.tree.txt
- signatures.sol
- source_map.sol
- struct_doc_recovery.sol
- struct_docs_04.sol
- struct_docs_04.sourced.sol
- struct_docs_05.sol
- struct_docs_05.sourced.sol
- super.sol
- unicode.sol
- unicode_big.sol
- user_defined_operators_0819.sol
- user_defined_operators_0819.sourced.sol
- writer_edge_cases.sol
- writer_edge_cases.sourced.sol
- copy.spec.ts
- make.spec.ts
- make_identifier_for.spec.ts
- binary_operation.spec.ts
- block.spec.ts
- contract_definition.spec.ts
- function_definition.spec.ts
- identifier.spec.ts
- identifier_path.spec.ts
- import_directive.spec.ts
- member_access.spec.ts
- return.spec.ts
- source_unit.spec.ts
- struct_definition.spec.ts
- unary_operation.spec.ts
- user_defined_type_name.spec.ts
- variable_declaration.spec.ts
- contract_0413.spec.ts
- contract_050.spec.ts
- assignment.spec.ts
- binary_operation.spec.ts
- conditional_0413.spec.ts
- conditional_050.spec.ts
- tuple.spec.ts
- unary_operation.spec.ts
- import_directive.spec.ts
- inheritance_specifier.spec.ts
- pragma_directive.spec.ts
- source_unit.spec.ts
- block_0413.spec.ts
- block_050.spec.ts
- do_while_0413.spec.ts
- do_while_050.spec.ts
- emit_0421.spec.ts
- emit_050.spec.ts
- expression_0413.spec.ts
- expression_050.spec.ts
- for_0413.spec.ts
- for_050.spec.ts
- if_0413.spec.ts
- if_050.spec.ts
- inline_assembly_0413.spec.ts
- inline_assembly_050.spec.ts
- placeholder_0413.spec.ts
- placeholder_050.spec.ts
- return_0413.spec.ts
- return_050.spec.ts
- throw_0413.spec.ts
- variable_declaration_0413.spec.ts
- variable_declaration_050.spec.ts
- while_0413.spec.ts
- while_050.spec.ts
- array_type_name.spec.ts
- elementary_type_name.spec.ts
- function_type_name.spec.ts
- mapping.spec.ts
- formatter.spec.ts
- writer.spec.ts
- ast_node.spec.ts
- ast_node_formatter.spec.ts
- ast_reader.spec.ts
- common.ts
- dispatch.spec.ts
- unicode.spec.ts
- utils.spec.ts
- file_level_definitions_parser.spec.ts
- findAllFiles.spec.ts
- compiler_selection.spec.ts
- constants.spec.ts
- import_resolver.spec.ts
- utils.spec.ts
- version.spec.ts
- assert.spec.ts
- forAll.spec.ts
- str_encoding.spec.ts
- definitions.spec.ts
- location.spec.ts
- node.spec.ts
- pretty_printing.spec.ts
- srcmap.spec.ts
- struct_eq.spec.ts
- abi_encodable.spec.ts
- builtins.spec.ts
- castable.spec.ts
- eval_const.spec.ts
- getters.spec.ts
- import_ref.spec.ts
- signatures.spec.ts
- typeIdentifier.spec.ts
- utils.spec.ts
- inaccessible_dynamic_type.ts
- module_type.ts
- typeString_grammar.pegjs
- typeString_parser_header.ts
- file.ts
- index.ts
- .eslintrc.json
- .gitignore
- .nvmrc
- .prettierrc.json
- AUTHORS.md
- jest.config.json
- LICENSE
- NODE_LIST.md
- package-lock.json
- package.json
- README.md
- tsconfig.json
- typedoc.json
# 설치 가이드
1. 코드 내려받기
git clone https://github.com/ConsenSysDiligence/solc-typed-ast
깃허브에서 프로젝트 코드 전체를 내 컴퓨터로 내려받습니다.
cd solc-typed-ast
방금 내려받은 프로젝트 폴더 안으로 이동합니다.
2. 공식 설치 스크립트
쉬움 추천사전 준비물
- Node.js npm 명령어를 쓰려면 Node.js가 설치되어 있어야 합니다.
npm install -g solc-typed-ast
npm 레지스트리에 배포된 패키지를 전역으로 설치합니다. 소스 클론이 필요 없습니다.
설치 후 새 터미널을 열고, 프로그램의 버전 확인 명령(예: --version)으로 정상 설치됐는지 확인하세요.
이 레포의 README에 적힌 실제 명령어를 그대로 가져왔습니다.
3. Docker
쉬움사전 준비물
- Git GitHub에서 프로젝트 코드를 내려받으려면 필요합니다.
- Docker Desktop 컨테이너를 빌드하고 실행하려면 필요합니다. 설치 후 실행해서 백그라운드에 켜두세요.
docker build -f docker/Dockerfile -t solc-typed-ast .
Dockerfile을 기반으로 실행 가능한 이미지를 빌드합니다.
docker run -p 8080:80 solc-typed-ast
빌드된 이미지를 실제 컨테이너로 실행합니다.
터미널에 docker compose ps 를 입력해 컨테이너들이 Up 상태인지 확인하세요. README에 포트 번호가 적혀있다면 브라우저에서 http://localhost:포트번호 로 접속해보세요.
4. Node.js
쉬움사전 준비물
npm install -g solc-typed-ast
npm 레지스트리에 배포된 패키지를 전역으로 설치합니다. 소스 클론이 필요 없습니다.
npm install --save solc-typed-ast
package.json에 명시된 라이브러리들을 내려받아 설치합니다.
├── coverage # Test coverage report, produced by "npm test" command.
이 명령어를 터미널에 그대로 입력해 실행하세요.
├── dist # Generated JavaScript sources for package distribution (produced by "npm run build" and published by "npm publish" commands).
배포용으로 코드를 최적화해서 빌드 파일을 생성합니다.
├── docs # Project documentation and API reference, produced by "npm run docs:render" or "npm run docs:refresh" commands.
이 명령어를 터미널에 그대로 입력해 실행하세요.
명령어 실행 후 터미널에 나타나는 주소(보통 http://localhost:3000 형태)를 브라우저에서 열어보세요.
이 레포의 README에 적힌 실제 명령어를 그대로 가져왔습니다.
// repository documentation
Was this content helpful?
(0 ratings)
