问题:
我有多个大文件,其中包含以下代码块,这些代码块分散在所有文件中:
type Query {
...
}
extend type Query {
...
}
extend type Query {
...
}
我希望解析所有文件并提取该Query
块并将其合并到一个文件中。每个文件的块之间的代码Query
和行数都不同。并且块之前/之后可能有不同的块Query
- 所有块都用{}
.
我知道简单的正则表达式不起作用,因为它们可以跳过右大括号并匹配整个文件。
除了编写程序逐行读取文件之外,还有其他 UNIX-y 方法来解决这个问题吗?我的猜测是我想做的是“结构匹配”,这意味着 CFG(上下文无关语法)解析之类的东西,并且可能向 YACC 之类的东西发出信号。尽管我不确定是否有更简单的解决方案以及如何进行。