diff --git a/src/ident.pest b/src/ident.pest new file mode 100644 index 0000000000000000000000000000000000000000..c35442fb289f8d1a341a47a2921e18b8839b3532 --- /dev/null +++ b/src/ident.pest @@ -0,0 +1,27 @@ +alpha = { 'a'..'z' | 'A'..'Z' } +digit = { '0'..'9' } +digits = @{ digit+ } +hex = @{ "0x" ~ (digit | 'a'..'f' | 'A'..'F')+ } + +ident = { (alpha | digit | "."| "$" | "_" | ":")+ } + +entry = { "'" ~ ident ~ "'"} + +address = { "<" ~ hex ~ ">"} + +function = { entry ~ "<" ~ address ~ ">" ~ "#uses=" ~ digits } +nullfunction = { "<<null function>>" ~ "<" ~ address ~ ">" ~ "#uses=" ~ digits } + + +callext = { "CS" ~ address ~ "calls" ~ "external" ~ "node" } +callfun = { "CS" ~ address ~ "calls" ~ "function" ~ entry } + +fun = { "Call graph node for function:" ~ function ~ (callext | callfun)* } +null = { "Call graph node" ~ nullfunction ~ (callext | callfun)* } + + + +ident_list = _{ SOI ~ (fun|null)* ~ EOI } + +WHITESPACE = _{ " " | "\t" | "\n"} +