-----------------------------------------------

eLXgt@CHvO

-----------------------------------------------

PD\tg̏Љ
{vO̓eLXgt@C[U[`[ɏ]ĉHvOłB
[̓Xe[g}Vp邽߁AGȒu}A폜Ȃǂ\łB
܂At@CɃChJ[hgpł܂B

QDgp@
{vO̓R\[vOłB
s`͈ȉ̒ʂłB
text_ctl [t@C ϊt@C [-r] [-l Ot@C] [-buff buffer_size]
 
ϊt@C̓tpXł肢܂B
[t@CCSV`̃t@CłB
-rw肷ƁA͂܂BI[łB
-buff͈̓ǂݏɗv傫(PʂKByte)w肵܂Bʏ͎w肵܂񂪁At@C傫Ȃǂɂ͑傫Ȓlw肷ƗLłBw肵Ȃꍇ10KByteɂȂĂ܂B

͈ȉ̒ʂłB
text_ctl rule.csv c:\csv\*.cpp 
text_ctl rule.csv c:\csv\*.cpp -r
text_ctl rule.csv c:\csv\*.cpp -r -l log.txt



RDgp
Ⴆ΁Aaaa.vƂt@Cmodule ` endmoduleԂ̓eHꍇAz肵܂B

aaa.v

module xxx
`
endmodule

module yyy
`
endmodule

module zzz
`
endmodule


̎Aȉ̂悤Ƀ[t@C쐬܂B

#st,IDLE
#if,module
  #noif,endmodule
    #printf,Step1
    #go,SET_A
  #endif
#endif

#st,SET_A
#if,endmodule
  #go,IDLE
#else
#endif



#st̓Xe[g}V̏Ԃ\܂B
L̗IDLE,SET_ȀԂ܂B
IDLEԂ̎̓eLXg̈smoduleAendmodule݂ȂA#printf,#gos܂B
#printf͂̍s\܂B#go̓Xe[gSET_AɏԂڂ܂B
SET_A̎endmodule݂ɁAIDLEԂɖ߂܂B

L̋LqႩ̓IɉH̕@܂ƁA

#st,IDLE
#if,module
  #noif,endmodule
    #printf,Step1
    #go,SET_A
  #endif
#endif

#st,SET_A
#if,endmodule
  #go,IDLE
#else
  #if,always
    #printf,always
    #ins,"// sync_reset ""reset"""
  #endif
  #if,case
    #printf,register
    #chg,#@@# // paralellcase
  #endif
  #if,# register define ############################
    #printf,delete
    #del
  #endif
  #if,~reset_n
    #printf,repalce
    #replace,~reset_n,~rst_n
  #endif
#endif


L̂悤ɂȂ܂B

SET_AԂ̎Aalways鎞A// sync_reset "reset"
sǉ܂B
case̎͂̍s̏I // paralellcase
ǉ܂B#@@#ǂݍ񂾑ΏƂ̕ɂȂ܂B
# register define ############################
͂̍s폜܂B
~reset_n́A~reset_n  ~rst_nɒu܂B


SDgp

(1).Xe[g}V̏Ԗ`
Xe[g}V̏Ԗ`܂B
ԏ߂ɒ`ꂽԂs܂B

`
#st,Ԗ

gp
#st,IDLE

(2).#if,#noif,#else,#endif
#if͎w蕶񂪑݂Ă邩ǂr܂B
#noif͎w蕶񂪑݂ĂȂr܂B
#elseifɑ΂Ă̋t̏ɂȂ܂B
#endif#if/#noifɑ΂I[łB
IvVaA_sametƁAAt@xbg̑啶A𓯈ƂČ܂B

`
#if,r,[aA_same]
#noif,r,[aA_same]
#else
#endif

gp
#if,module
  #printf,msg1
#endif

#noif,endmodule
  #printf,msg2
#else
  #printf,msg3
#endif

#if,module,aA_same
  #printf,msg1
#endif


(3).RgAEg
//RgAEgɂȂ܂B
//s̓RgɂȂ܂B

`
//,`,

gp
//,#if,module

(4).Ԉړ
#go͏ԑJڂ̖߂ɂȂ܂B
#act͏Ԃ͑JڂAw̏ԂANeBuɂ܂Bw肷ƁAԂɓ삵܂B
#stop͎w̏ԂANeBu̎͒~܂B#act#go̎w肪鎞#act,#goD悳܂B

`
#go,w
#act,w
#stop,w

gp

#st,IDLE
#if,module
  #noif,endmodule
    #go,SET_A
    #act,SET_B
  #endif
#endif

#st,SET_A
#if,endmodule
  #stop,SET_B
  #go,IDLE
#else
  #if,always
    #printf,always
  #endif
#endif

#st,SET_B
#if,sample1_fp
  #printf,printf
#endif


(5).s}
#ins/#ins_after߂͎w蕶s}܂B
#ins͌s̑O̗ɑ}܂B
#ins_after͌š̗ɑ}܂B

`
#ins,}
#ins_after,}

gp
#ins,aaaaaaa
#ins_after,aaaaaaa


(6).s폜
#del߂͎ws폜܂B

`
#del

gp
#del


(6).sH
#chg߂͍sH܂B#@@#ǂݍ񂾃eLXg̒uɂȂ܂B

`
#chg,Hw

gp
#chg,#@@# // aaa

ϊƁAeLXgǂݍ񂾕 case(xxx)̎Acase(xxx) // aaaɕϊ܂B


(7).u
#replace߂͎w蕶̒us܂B


`
#replace,uO,u㕶,[aA_same]
IvVaA_sametƁAAt@xbg̑啶A𓯈ƂĒu܂B

gp
#replace,reset_n,rst_n
#replace,reset_n,rst_n,aA_same


(8).fobO
#debugCSVt@C̓ǂݍ񂾏󋵂\܂B

`
#debug

gp
#debug


(9).Xe[g}ṼANeBuݒ
#st_init̓Xe[g}ṼANeBuɂ鏉ݒB{ݒ肪͈ԏ߂ɒ`Xe[g}VANeBuƂȂB

`
#st_init,1,2`,n

gp
#st_init,idle,idle_2


(10).OW
#log͎w̉ӏOnsms܂ł̓eMO܂Bo͌`#line_chgɏ]܂B

`
#log,O̍s,̍s

gp
#log,3,4


(11).ws̏
#line_chg͎ws̏s܂B

`
#line_chg,s,e

gp
#line_chg,100,aaaaadd

eɃJ}鎞͓e_uR[e[VŊĉB܂AeɃ_uR[e[V鎞͂Q_uR[e[VLqĂB


(12).߂̃g[X
#itrace͖߂g[X܂B

`
#itrace

gp
#itrace


(13).obt@̃g[X
#trace̓obt@g[X܂B

`
#trace

gp
#trace


(14).s폜
#retdel͉s폜Ď̍sƌq܂

`
#retdel

gp
#retdel


(15).sɃt@C}
#ins_file/#ins_file_after߂͎weLXgt@C̓es}܂B
#ins_file͌s̑O̗ɑ}܂B
#ins_file_after͌š̗ɑ}܂B

`
#ins_file,eLXgt@C
#ins_file_after,eLXgt@C

gp
#ins_file,ccc.txt
#ins_file_after,ccc.txt


TD
Ver 0.90  [X
Ver 0.91  -r IvVǉ
Ver 0.92  oOtBbNXAׂẴXe[gIAT[`I点悤ɂB
@@@@@Xe[g𕡐wł悤ɂBOƂ@\ǉ܂B
Ver 0.93  oOtBbNX
Ver 0.94  oOtBbNXAfobO@\ǉ
Ver 0.95  #retdelǉ
Ver 0.97  #ins_afterǉ
Ver 0.98  ܂Bsvȃ^[R[htĂoOtBbNXB
Ver 1.00  obNOEhWuő点悤ɂ܂B
Ver 1.01  R}hNULL̎AG[Œ~Ă܂oOtBbNX
Ver 1.02  4GoCg̃t@C悤ɂ܂B-buffIvVǉ
Ver 1.03  CSVt@CCELLɉsĂǂ߂悤ɂB
Ver 1.04  IvVaA_sameǉ
Ver 1.04a IvVaA_samẽoOtBbNX
Ver 1.05  #ins_file,#ins_file_afterǉ
