Added refactor.ps1 script, fixed the gencpp.refactor script (missing commas)

This commit is contained in:
Edward R. Gonzalez 2023-07-24 23:47:04 -04:00
parent 88d36f5d06
commit ebe049d3a0
2 changed files with 338 additions and 285 deletions

View File

@ -19,349 +19,349 @@
// word, namespace, regex
// Gen Macro namespace
// namespace GEN_ new_namespace_
// namespace GEN_, new_namespace_
// ---------- ZPL Macros
// word GEN_ARCH_64_BIT new_name
// word GEN_ARCH_32_BIT new_name
// word GEN_ARCH_64_BIT, new_name
// word GEN_ARCH_32_BIT, new_name
// word GEN_SYSTEM_ANDROID new_name
// word GEN_SYSTEM_CYGWIN new_name
// word GEN_SYSTEM_EMSCRIPTEN new_name
// word GEN_SYSTEM_FREEBSD new_name
// word GEN_SYSTEM_IOS new_name
// word GEN_SYSTEM_LINUX new_name
// word GEN_SYSTEM_MACOS new_name
// word GEN_SYSTEM_OPENBSD new_name
// word GEN_SYSTEM_OSX new_name
// word GEN_SYSTEM_UNIX new_name
// word GEN_SYSTEM_WINDOWS new_name
// word GEN_SYSTEM_ANDROID, new_name
// word GEN_SYSTEM_CYGWIN, new_name
// word GEN_SYSTEM_EMSCRIPTEN, new_name
// word GEN_SYSTEM_FREEBSD, new_name
// word GEN_SYSTEM_IOS, new_name
// word GEN_SYSTEM_LINUX, new_name
// word GEN_SYSTEM_MACOS, new_name
// word GEN_SYSTEM_OPENBSD, new_name
// word GEN_SYSTEM_OSX, new_name
// word GEN_SYSTEM_UNIX, new_name
// word GEN_SYSTEM_WINDOWS, new_name
// word GEN_COMPILER_CLANG new_name
// word GEN_COMPILER_GCC new_name
// word GEN_COMPILER_MINGW new_name
// word GEN_COMPILER_MSVC new_name
// word GEN_COMPILER_CLANG, new_name
// word GEN_COMPILER_GCC, new_name
// word GEN_COMPILER_MINGW, new_name
// word GEN_COMPILER_MSVC, new_name
// word forceinline new_name
// word neverinline new_name
// word forceinline, new_name
// word neverinline, new_name
// word zpl_cast new_name
// word zpl_cast, new_name
// word global new_name
// word internal new_name
// word local_persist new_name
// word global, new_name
// word internal, new_name
// word local_persist, new_name
// word GEN_DEBUG_TRAP new_name
// word GEN_ASSERT new_name
// word GEN_ASSERT_MSG new_name
// word GEN_ASSERT_NOT_NULL new_name
// word GEN_PANIC new_name
// word GEN_DEBUG_TRAP, new_name
// word GEN_ASSERT, new_name
// word GEN_ASSERT_MSG, new_name
// word GEN_ASSERT_NOT_NULL, new_name
// word GEN_PANIC, new_name
// word zero_item new_name
// word zero_array new_name
// word zero_item, new_name
// word zero_array, new_name
// word alloc_item new_name
// word alloc_array new_name
// word alloc_item, new_name
// word alloc_array, new_name
// word malloc new_name
// word mfree new_name
// word malloc, new_name
// word mfree, new_name
// word count_of new_name
// word is_between new_name
// word min new_name
// word size_of new_name
// word swap new_name
// word count_of, new_name
// word is_between, new_name
// word min, new_name
// word size_of, new_name
// word swap, new_name
// ---------- ZPL Types
// word b8 new_name
// word b16 new_name
// word b32 new_name
// word s8 new_name
// word s16 new_name
// word s32 new_name
// word s64 new_name
// word u8 new_name
// word u16 new_name
// word u32 new_name
// word u64 new_name
// word uw new_name
// word sw new_name
// word sptr new_name
// word uptr new_name
// word f32 new_name
// word f64 new_name
// word b8, new_name
// word b16, new_name
// word b32, new_name
// word s8, new_name
// word s16, new_name
// word s32, new_name
// word s64, new_name
// word u8, new_name
// word u16, new_name
// word u32, new_name
// word u64, new_name
// word uw, new_name
// word sw, new_name
// word sptr, new_name
// word uptr, new_name
// word f32, new_name
// word f64, new_name
// namespace EAllocator_ new_namespace_
// namespace EFileMode_ new_namespace_
// namespace EFileError_ new_namespace_
// namespace EAllocator_, new_namespace_
// namespace EFileMode_, new_namespace_
// namespace EFileError_, new_namespace_
// word AllocatorInfo new_name
// word AllocatorProc new_name
// word AllocFlag new_name
// word AllocType new_name
// word ArrayHeader new_name
// word DirEntry new_name
// word DirInfo new_name
// word DirType new_name
// word FileDescriptor new_name
// word FileError new_name
// word FileInfo new_name
// word FileTime new_name
// word FileModeFlag new_name
// word FileOperations new_name
// word FileStandardType new_name
// word SeekWhenceType new_name
// word AllocatorInfo, new_name
// word AllocatorProc, new_name
// word AllocFlag, new_name
// word AllocType, new_name
// word ArrayHeader, new_name
// word DirEntry, new_name
// word DirInfo, new_name
// word DirType, new_name
// word FileDescriptor, new_name
// word FileError, new_name
// word FileInfo, new_name
// word FileTime, new_name
// word FileModeFlag, new_name
// word FileOperations, new_name
// word FileStandardType, new_name
// word SeekWhenceType, new_name
// ---------- ZPL Data
// word default_file_operations new_name
// word default_file_operations, new_name
// ---------- ZPL Procedures
// word align_forward new_name
// word align_fordward_i64 new_name
// word alloc new_name
// word alloc_align new_name
// word assert_handler new_name
// word assert_crash new_name
// word char_first_occurence new_name
// word char_is_alpha new_name
// word char_is_alphanumeric new_name
// word char_is_digit new_name
// word char_is_hex_digit new_name
// word char_is_space new_name
// word char_to_lower new_name
// word char_to_upper new_name
// word crc32 new_name
// word default_resize_align new_name
// word digit_to_int new_name
// word file_close new_name
// word file_get_standard new_name
// word file_name new_name
// word file_open new_name
// word file_open_mode new_name
// word file_seek new_name
// word file_tell new_name
// word file_write new_name
// word file_write_at new_name
// word file_write_at_check new_name
// word free new_name
// word free_all new_name
// word heap new_name
// word heap_allocator_proc new_name
// word heap_stats_check new_name
// word heap_stats_alloc_count new_name
// word heap_stats_init new_name
// word heap_stats_used_memory new_name
// word hex_digit_to_int new_name
// word i64_to_str new_name
// word is_power_of_two new_name
// word mem_copy new_name
// word mem_move new_name
// word mem_set new_name
// word pointer_add new_name
// word mem_copy new_name
// word mem_find new_name
// word mem_move new_name
// word mem_set new_name
// word resize new_name
// word resize_align new_name
// word process_exit new_name
// word str_compare new_name
// word str_copy new_name
// word str_copy_nulpad new_name
// word str_fmt_buf new_name
// word str_fmt_buf_va new_name
// word str_fmt_file_va new_name
// word str_fmt_out_va new_name
// word str_fmt_out_err new_name
// word str_fmt_out_err_va new_name
// word str_fmt_va new_name
// word str_len new_name
// word str_reverse new_name
// word str_to_i64 new_name
// word str_to_lower new_name
// word str_to_upper new_name
// word u64_to_str new_name
// word zero_size new_name
// word align_forward, new_name
// word align_fordward_i64, new_name
// word alloc, new_name
// word alloc_align, new_name
// word assert_handler, new_name
// word assert_crash, new_name
// word char_first_occurence, new_name
// word char_is_alpha, new_name
// word char_is_alphanumeric, new_name
// word char_is_digit, new_name
// word char_is_hex_digit, new_name
// word char_is_space, new_name
// word char_to_lower, new_name
// word char_to_upper, new_name
// word crc32, new_name
// word default_resize_align, new_name
// word digit_to_int, new_name
// word file_close, new_name
// word file_get_standard, new_name
// word file_name, new_name
// word file_open, new_name
// word file_open_mode, new_name
// word file_seek, new_name
// word file_tell, new_name
// word file_write, new_name
// word file_write_at, new_name
// word file_write_at_check, new_name
// word free, new_name
// word free_all, new_name
// word heap, new_name
// word heap_allocator_proc, new_name
// word heap_stats_check, new_name
// word heap_stats_alloc_count, new_name
// word heap_stats_init, new_name
// word heap_stats_used_memory, new_name
// word hex_digit_to_int, new_name
// word i64_to_str, new_name
// word is_power_of_two, new_name
// word mem_copy, new_name
// word mem_move, new_name
// word mem_set, new_name
// word pointer_add, new_name
// word mem_copy, new_name
// word mem_find, new_name
// word mem_move, new_name
// word mem_set, new_name
// word resize, new_name
// word resize_align, new_name
// word process_exit, new_name
// word str_compare, new_name
// word str_copy, new_name
// word str_copy_nulpad, new_name
// word str_fmt_buf, new_name
// word str_fmt_buf_va, new_name
// word str_fmt_file_va, new_name
// word str_fmt_out_va, new_name
// word str_fmt_out_err, new_name
// word str_fmt_out_err_va, new_name
// word str_fmt_va, new_name
// word str_len, new_name
// word str_reverse, new_name
// word str_to_i64, new_name
// word str_to_lower, new_name
// word str_to_upper, new_name
// word u64_to_str, new_name
// word zero_size, new_name
// ---------- gencpp Macros
// word bit new_name
// word bitfield_is_equal new_name
// word bit, new_name
// word bitfield_is_equal, new_name
// word ccast new_name
// word pcast new_name
// word rcast new_name
// word scast new_name
// word ccast, new_name
// word pcast, new_name
// word rcast, new_name
// word scast, new_name
// word do_once new_name
// word do_once_start new_name
// word do_once_end new_name
// word num_args new_name
// word num_args_impl new_name
// word stringize new_name
// word stringize_va new_name
// word txt_StrC new_name
// word do_once, new_name
// word do_once_start, new_name
// word do_once_end, new_name
// word num_args, new_name
// word num_args_impl, new_name
// word stringize, new_name
// word stringize_va, new_name
// word txt_StrC, new_name
// ------------ gencpp common
// word Arena new_name
// word Array new_name
// word HashTable new_name
// word Pool new_name
// word StrC new_name
// word String new_name
// word Arena, new_name
// word Array, new_name
// word HashTable, new_name
// word Pool, new_name
// word StrC, new_name
// word String, new_name
// word log_fmt new_name
// word fatal new_name
// word to_str new_name
// word to_StrC new_name
// word to_type new_name
// word log_fmt, new_name
// word fatal, new_name
// word to_str, new_name
// word to_StrC, new_name
// word to_type, new_name
// ------------ gencpp Types & Constants
// word LogFailType new_name
// word log_failure new_name
// word LogFailType, new_name
// word log_failure, new_name
// word AccessSpec new_name
// word ECode new_name
// word EnumClass new_name
// word EnumRegular new_name
// word EnumT new_name
// word EOperator new_name
// word ESpecifier new_name
// word OperatorT new_name
// word ModuleFlag new_name
// word SpecifierT new_name
// word StringCached new_name
// word StringTable new_name
// word UsingRegular new_name
// word UsingNamespace new_name
// word AccessSpec, new_name
// word ECode, new_name
// word EnumClass, new_name
// word EnumRegular, new_name
// word EnumT, new_name
// word EOperator, new_name
// word ESpecifier, new_name
// word OperatorT, new_name
// word ModuleFlag, new_name
// word SpecifierT, new_name
// word StringCached, new_name
// word StringTable, new_name
// word UsingRegular, new_name
// word UsingNamespace, new_name
// gencpp Data
// ------------ gencpp Data
// word API_Export new_name
// word API_Import new_name
// word AST_POD_Size new_name
// word AST new_name
// word AST_POD new_name
// word Code new_name
// word Code_POD new_name
// word Keyword new_name
// word NoCode new_name
// word API_Export, new_name
// word API_Import, new_name
// word AST_POD_Size, new_name
// word AST, new_name
// word AST_POD, new_name
// word Code, new_name
// word Code_POD, new_name
// word Keyword, new_name
// word NoCode, new_name
// gencpp API
// ------------ gencpp API
// word init new_name
// word deinit new_name
// word init, new_name
// word deinit, new_name
// word get_cached_string new_name
// word make_code new_name
// word make_code_entries new_name
// word get_cached_string, new_name
// word make_code, new_name
// word make_code_entries, new_name
// word set_allocator_data_arrays new_name
// word set_allocator_code_pool new_name
// word set_allocator_code_entries_arena new_name
// word set_allocator_string_arena new_name
// word set_allocator_string_table new_name
// word set_allocator_type_table new_name
// word set_allocator_data_arrays, new_name
// word set_allocator_code_pool, new_name
// word set_allocator_code_entries_arena, new_name
// word set_allocator_string_arena, new_name
// word set_allocator_string_table, new_name
// word set_allocator_type_table, new_name
// upfront constructor namespace
// ------------ upfront constructor namespace
// namespace def_ new_namespace_
// upfront constructor individual
// ------------ upfront constructor individual
// word def_attributes new_name
// word def_comment new_name
// word def_class new_name
// word def_enum new_name
// word def_execution new_name
// word def_extern_link new_name
// word def_friend new_name
// word def_function new_name
// word def_include new_name
// word def_module new_name
// word def_namespace new_name
// word def_operator new_name
// word def_param new_name
// word def_specifier new_name
// word def_struct new_name
// word def_template new_name
// word def_type new_name
// word def_typedef new_name
// word def_union new_name
// word def_using new_name
// word def_using_namespace new_name
// word def_variable new_name
// word def_attributes, new_name
// word def_comment, new_name
// word def_class, new_name
// word def_enum, new_name
// word def_execution, new_name
// word def_extern_link, new_name
// word def_friend, new_name
// word def_function, new_name
// word def_include, new_name
// word def_module, new_name
// word def_namespace, new_name
// word def_operator, new_name
// word def_param, new_name
// word def_specifier, new_name
// word def_struct, new_name
// word def_template, new_name
// word def_type, new_name
// word def_typedef, new_name
// word def_union, new_name
// word def_using, new_name
// word def_using_namespace, new_name
// word def_variable, new_name
// word def_body new_name
// word def_class_body new_name
// word def_enum_body new_name
// word def_export_body new_name
// word def_extern_link_body new_name
// word def_function_body new_name
// word def_global_body new_name
// word def_namespace_body new_name
// word def_params new_name
// word def_specifiers new_name
// word def_struct_body new_name
// word def_union_body new_name
// word def_body, new_name
// word def_class_body, new_name
// word def_enum_body, new_name
// word def_export_body, new_name
// word def_extern_link_body, new_name
// word def_function_body, new_name
// word def_global_body, new_name
// word def_namespace_body, new_name
// word def_params, new_name
// word def_specifiers, new_name
// word def_struct_body, new_name
// word def_union_body, new_name
// parse constructor namespace
// namespace parse_ new_namespace_
// ------------ parse constructor namespace
// namespace parse_, new_namespace_
// parse constructor individual
// ------------ parse constructor individual
// word parse_class new_name
// word parse_enum new_name
// word parse_export_body new_name
// word parse_extern_link new_name
// word parse_friend new_name
// word parse_function new_name
// word parse_global_body new_name
// word parse_namespace new_name
// word parse_operator new_name
// word parse_struct new_name
// word parse_template new_name
// word parse_type new_name
// word parse_typedef new_name
// word parse_union new_name
// word parse_using new_name
// word parse_variable new_name
// word parse_class, new_name
// word parse_enum, new_name
// word parse_export_body, new_name
// word parse_extern_link, new_name
// word parse_friend, new_name
// word parse_function, new_name
// word parse_global_body, new_name
// word parse_namespace, new_name
// word parse_operator, new_name
// word parse_struct, new_name
// word parse_template, new_name
// word parse_type, new_name
// word parse_typedef, new_name
// word parse_union, new_name
// word parse_using, new_name
// word parse_variable, new_name
// untyped constructor namespace
// namespace untyped_ new_namespace_
// ------------ untyped constructor namespace
// namespace untyped_, new_namespace_
// untyped constructor individual
// ------------ untyped constructor individual
// word token_fmt_impl new_name
// word token_fmt_va new_name
// word untyped_str new_name
// word untyped_fmt new_name
// word untyped_token_fmt new_name
// word token_fmt_impl, new_name
// word token_fmt_va, new_name
// word untyped_str, new_name
// word untyped_fmt, new_name
// word untyped_token_fmt, new_name
// File Handling
// ------------ File Handling
// word Builder new_name
// word Editor new_name
// word Scanner new_name
// word Builder, new_name
// word Editor, new_name
// word Scanner, new_name
// gencpp macros
// ------------ gencpp macros
// word gen_main new_name
// word GEN_TIME new_name
// word gen_main, new_name
// word GEN_TIME, new_name
// word __ new_name
// word code new_name
// word name new_name
// word args new_name
// word token_fmt new_name
// word __, new_name
// word code, new_name
// word name, new_name
// word args, new_name
// word token_fmt, new_name
// Type AST namespace
// namespace t_ new_namespace_
// ------------ Type AST namespace
// namespace t_, new_namespace_
// Specifier AST namespace
// namespace spec_ new_namespace_
// ------------ Specifier AST namespace
// namespace spec_, new_namespace_

53
scripts/refactor.ps1 Normal file
View File

@ -0,0 +1,53 @@
[string] $format = $false
foreach ( $arg in $args )
{
if ( $arg -eq "format" )
{
$format = $true
}
}
[string[]] $include = 'gen.*.hpp', 'gen.*.cpp', 'gen.hpp', 'gen.cpp'
[string[]] $exclude
$path_root = git rev-parse --show-toplevel
$path_project = Join-Path $path_root project
$path_scripts = Join-Path $path_root scripts
$path_singlheader = Join-Path $path_root singleheader
$path_singleheader_comp = Join-Path $path_singlheader components
$file_spec = Join-Path $path_scripts gencpp.refactor
# Gather the files to be formatted.
$targetFiles = @()
$targetFiles += Get-ChildItem -Recurse -Path $path_project -Include $include -Exclude $exclude | Select-Object -ExpandProperty FullName
$targetFiles += Get-ChildItem -Recurse -Path $path_singleheader_comp -Include $include -Exclude $exclude | Select-Object -ExpandProperty FullName
# Format the files.
$formatParams = @(
'-i' # In-place
'-style=file:./.clang-format' # Search for a .clang-format file in the parent directory of the source file.
'-verbose'
)
write-host "Beginning refactor...`n"
$refactorParams = @(
# "-debug",
"-num=$($targetFiles.Count)"
"-src=$($targetFiles)",
"-spec=$($file_spec)"
)
& refactor $refactorParams
Write-Host "`nRefactoring complete`n`n"
if ( $format -eq $true ) {
Write-Host "Beginning format...`n"
& clang-format $formatParams $targetFiles
Write-Host "`nFormatting complete"
}