BNF正規化 如何用C 實現自動推導

2021-03-31 20:17:53 字數 1493 閱讀 4759

bnf

正規化

attack::= attack_name

attack_name::=《字串》

signatures::= signaturesignatures| ε

signature::= ip_signature|dir|get_signature|

opt_sigature|exp_signature|proto| ε

proto::=tcp|ip|icmp|udp

ip_signature::= (sip|dip) ip_addr [/mask]

ip_addr::=《整數》.《整數》.《整數》.《整數》// 大於0小於255的自然數

mask::=《整數》//大於1小於32的自然數

opt_sigature::=opt:opts

opts::= (opt |!opt) opts

opt::=cwr | e** | urg | ack | push | reset | syn | fin |ε

dir::=s2d | d2s

exp_signature::= exp_name:exps

exp_name::=sport | dport | udplen | tcplen | iplen |

tcpsequence |ε

exps::= exp exps|z

exp::=《整數》 : 《整數》

exp::= exp (or | and) exp

exp::=!exp

get_signature::=matchget

match::= substrmatch|z

substr::=substr (匹配字串匹配起始點匹配結束點匹配模式

匹配模式::=nocase | anamorphosis

description::= alarm confidence severity cve

alarm::=@alarm=攻擊代號

,攻擊型別

confidence::= !confidence=《整數》

severity::=!severity=《整數》

cve::=《字串》

如何用sql語句實現欄位自增

如何用sql語句實現欄位自增 如果從表中讀到欄位最大值 0003 增加一條記錄 欄位值 為 0004 select right 000 rtrim cast isnull max field1 0 as int 1 4 from tablename 觸發器,如果一次只加一條,欄位名為id,假定def...

如何用C 實現棧

簡單定義 棧就是一種只允許在表尾進行插入和刪除操作的線性表 舉一個生活中的例子 我在一個儲物箱中,堆了一堆衣服,我的一件球衣在最下面,而我要拿這件衣服,就意味著我必須將上面的衣服全部拿出來才可以,但是由於箱子只有一個口,我也只能從上面拿東西,心裡還默默想著,當初就不該將球衣早早的放進去,導致結果就是...

如何用C 實現自己的Tensorflow

摘要 tensorflow是由谷歌基於distbelief進行研發的第二代人工智慧學習系統,其命名 於本身的執行原理,它完全開源,作者通過自己的一個小專案,闡述瞭如何用c 實現自己的tensorflow,這篇文章看起來可能會有點晦澀,你需要對相關知識有所瞭解。以下是譯文。在我們開始之前,以下是 br...

如何用C語言實現圈叉遊戲( )

今天情人節,還是在學習c語言 自己寫了一遍發現自己寫的沒有書上的 更簡練 就把書上的 稍微修改了一下 下面看遊戲介面 和昨天的米字棋差不多,有時間會結合米字旗的 做些修改 上 井字遊戲 也稱為圈叉遊戲 includeint main void for int i 0 i 9 winner 0 i w...

如何用C 語言通過服務來實現開機啟動?

建立服務步驟 1.先在vs中建立一個windows服務的專案,在自動生成的service1.cs檔案裡新增如下語句 定義一個全域性變數 process proc new process 2.在onstart 函式中新增如下 try catch system.exception ex 3.在onsto...