mirror of
https://github.com/krahets/hello-algo.git
synced 2024-12-26 13:16:28 +08:00
28 lines
948 B
Python
28 lines
948 B
Python
|
"""
|
||
|
File: extract_code_csharp.py
|
||
|
Created Time: 2023-02-07
|
||
|
Author: Krahets (krahets@163.com)
|
||
|
"""
|
||
|
|
||
|
import re
|
||
|
import glob
|
||
|
import sys, os.path as osp
|
||
|
sys.path.append(osp.dirname(osp.dirname(osp.dirname(osp.abspath(__file__)))))
|
||
|
from docs.utils.extract_code_java import ExtractCodeBlocksJava
|
||
|
|
||
|
|
||
|
class ExtractCodeBlocksCSharp(ExtractCodeBlocksJava):
|
||
|
def __init__(self) -> None:
|
||
|
super().__init__()
|
||
|
|
||
|
# Pattern to match function names and class names
|
||
|
self.func_pattern = r'(\s*)(public|private|)\s*(static|)\s*(|\S+)\s*(\w+)(\(.*\))'
|
||
|
self.class_pattern = r'(public|)\s*(class|struct)\s+(\w+)\s*\n'
|
||
|
|
||
|
self.func_pattern_keys = ["total", "ind", "scope", "static", "return", "label", "args"]
|
||
|
self.class_pattern_keys = ["total", "scope", "type", "label"]
|
||
|
|
||
|
# for code_path in glob.glob("codes/csharp/chapter_*/array.cs"):
|
||
|
# ext = ExtractCodeBlocksCSharp()
|
||
|
# res = ext.extract(code_path)
|
||
|
# pass
|