vim에서 circcom 컴파일러의 잘못된 형식에 대해 sed를 재설계했습니다.

vim에서 circcom 컴파일러의 잘못된 형식에 대해 sed를 재설계했습니다.

회로를 컴파일하고 Quickfix를 사용할 계획을 세웁니다. 하지만 컴파일러 출력은 표준 형식이 아니므로 구문 분석을 시도해보세요.

도움이 필요하다

  1. sed 명령 수정
  2. quikfix 창을 사용할 수 있도록 잘못된 형식의 출력을 준비합니다.

질문

  1. circom 컴파일러는 색상에 대해 여러 ASCII 코드를 출력합니다. 터미널에서 구문 분석했지만
[0m[1m[38;5;9merror[P1000][0m[1m: UnrecognizedToken { token: (374, Token(60, "input"), 379), expected: ["\"!=\"", "\"%\"", "\"%=\"", "\"&\"", "\"&&\"", "\"&=\"", "\"(\"", "\")\"", "\"*\"", "\"**\"", "\"**=\"", "\"*=\"", "\"+\"", "\"++\"", "\"+=\"", "\",\"", "\"-\"", "\"--\"", "\"-->\"", "\"-=\"", "\".\"", "\"/\"", "\"/=\"", "\":\"", "\";\"", "\"<\"", "\"<--\"", "\"<<\"", "\"<<=\"", "\"<=\"", "\"<==\"", "\"=\"", "\"==\"", "\"===\"", "\"==>\"", "\">\"", "\">=\"", "\">>\"", "\">>=\"", "\"?\"", "\"[\"", "\"\\\\\"", "\"\\\\=\"", "\"]\"", "\"^\"", "\"^=\"", "\"|\"", "\"|=\"", "\"||\""] }[0m
   [0m[34m┌─[0m "merkleTreeUpdater.circom":10:13
   [0m[34m│[0m
[0m[34m10[0m [0m[34m│[0m     ssignal [0m[31minput[0m oldRoot;
   [0m[34m│[0m             [0m[31m^^^^^[0m [0m[31mInvalid syntax[0m

[31mprevious errors were found[0m

제대로 분석할 수가 없어요

error[P1000]: UnrecognizedToken { token: (374, Token(60, "input"), 379), expected: ["\"!=\"", "\"%\"", "\"%=\"", "\"&\"", "\"&&\"", "\"&=\"", "\"(\"", "\")\"", "\"*\"", "\"**\"", "\"**=\"", "\"*=\"", "\"+\"", "\"++\"", "\"+=\"", "\",\"", "\"-\"", "\"--\"", "\"-->\"", "\"-=\"", "\".\"", "\"/\"", "\"/=\"", "\":\"", "\";\"", "\"<\"", "\"<--\"", "\"<<\"", "\"<<=\"", "\"<=\"", "\"<==\"", "\"=\"", "\"==\"", "\"===\"", "\"==>\"", "\">\"", "\">=\"", "\">>\"", "\">>=\"", "\"?\"", "\"[\"", "\"\\\\\"", "\"\\\\=\"", "\"]\"",
"\"^\"", "\"^=\"", "\"|\"", "\"|=\"", "\"||\""] }
   ┌─ "merkleTreeUpdater.circom":10:13
10 │     ssignal input oldRoot;
   │             ^^^^^ Invalid syntax

previous errors were found

그것을 분석해보십시오errorformat

circom merkleTreeUpdater.circom &> >( tr -d '\n' | (sed 's/\x1B[@A-Z\\\]^_]\|\x1B\[[0-9:;<=>?]*[-!"#$%&'"'"'()*+,.\/]*[][\\@A-Z^_`a-z{|}~]//g') | (sed "s/{.*}//g") | (sed 's/\s*//g')| sed 's/^.*\]\://g' | sed 's/\(^.*\:\).*/\1/g' | sed 's/"//g' | tr -s '[\200-\377]' :)

산출:

UnrecognizedToken:merkleTreeUpdater.circom:10:

잘못된 형식을 설정할 수 있지만 문제가 발생하여 makeprgnvim이 종료됩니다.

관련 정보