Интересует, собственно, нет ли какого-нить sed, но работающего с многострочным потоком как с единым целым без ручной возни с буфером. Т.е. чтобы принял весь поток, прошёлся регекспом и выдал бы.
-fpreprocessed
Indicate to the preprocessor that the input file has already been preprocessed. This suppresses things like macro expansion, tri-
graph conversion, escaped newline splicing, and processing of most directives. The preprocessor still recognizes and removes com-
ments, so that you can pass a file preprocessed with -C to the compiler without problems. In this mode the integrated preprocessor
is little more than a tokenizer for the front ends.
Мне это не [только] для Си нужно. Именно поэтому «Си-подобные». Например, именно сейчас интересует очистка от комментариев CSS'ов. А то yuicompressor на некоторых комментариях теряет башню.
bison тут лишний, но 5 минут легко и непринужденно превращаются в час, стоит только вспомнить о строках, внутри которых «/**/» не являются комментариями.
The pattern1, pattern2 form of an expression is called a range pattern. It matches all
input records starting with a record that matches pattern1, and continuing until a record
that matches pattern2, inclusive. It does not combine with any other sort of pattern
expression.
У нас три контекста: общий, «строка» и «комментарий». В общем контексте символы '«' и »/*" трактуются как начала строки и комментария, соотвественно, в контексте строки разрешены '\«', в контексте комментария '»' уже не будет открывать строковой контекст. В общем, это все тянет на «больше, чем 5 минут».
А с чего он там должен быть? Любой инструмент предполагает умение им пользховаться. Впрочем, как бы ты мог догадаться, info flex был в _это_ _же_ _самое_ _время_ открыт в другом табе konsole.
>Любой инструмент предполагает умение им пользховаться.
Умение пользоваться инструментом является результатом круения манов, а не божественным даром, ниспосланным свыше. В мой час входило в том числе и раскуривание крепкой GNUтой дури из info flex.
> В мой час входило в том числе и раскуривание крепкой GNUтой дури из info flex.
Вычти обратно. Потому что тогда любое решение потребует как минимум не меньше - info gcc чтение не менее забористое, про man perl (и далее по списку) или man sed/grep/awk/bash я совсем молчу.