[logo] 
 
Home
News
Activity
About/Contact
Major Tools
  Dinotrace
  Verilator
  Verilog-mode
  Verilog-Perl
Other Tools
  BugVise
  CovVise
  Force-Gate-Sim
  Gspice
  IPC::Locker
  Rsvn
  SVN::S4
  SystemPerl
  Voneline
  WFH
General Info
  Papers

My_Parser.h

Jan Seyler, 04/12/2012 12:44 pm

Download (3.32 KB)

 
1
#include "VParse.h"
2
#include "VSymTable.h"
3
#include "VAst.h"
4
#include <cstring>
5
#include <deque>
6
#include <stdio.h>
7
#include <iostream>
8
#include <fstream>
9

    
10
class VFileLineParseXs;
11

    
12
class My_Parser : public VParse {
13
public:
14
  VFileLine*        m_cbFilelinep;
15
   deque<VFileLineParseXs*> m_filelineps;
16
  
17
  VFileLine* cbFilelinep() const { return m_cbFilelinep; }
18
    void cbFileline(VFileLine* filelinep) { m_cbFilelinep = filelinep; }
19
  
20
    My_Parser(VFileLine* filelinep, av* symsp, bool sigparser, bool useUnreadback)
21
        : VParse(filelinep, symsp, sigparser, useUnreadback)
22
        , m_cbFilelinep(filelinep)
23
        { /*set_cb_use();*/ }
24
    My_Parser(const My_Parser &mp);
25
    virtual ~My_Parser();
26
    
27
    void attributeCb(VFileLine* fl, const string& text);
28
    void commentCb(VFileLine* fl, const string& text);
29
    void endparseCb(VFileLine* fl, const string& text);
30
    void keywordCb(VFileLine* fl, const string& text);
31
    void numberCb(VFileLine* fl, const string& text);
32
    void operatorCb(VFileLine* fl, const string& text);
33
    void preprocCb(VFileLine* fl, const string& text);
34
    void stringCb(VFileLine* fl, const string& text);
35
    void symbolCb(VFileLine* fl, const string& text);
36
    void sysfuncCb(VFileLine* fl, const string& text);
37
    // Verilog::SigParser Callback methods
38
    void classCb(VFileLine* fl, const string& kwd, const string& name, const string& virt);
39
    void contassignCb(VFileLine* fl, const string& kwd, const string& lhs, const string& rhs);
40
    void covergroupCb(VFileLine* fl, const string& kwd, const string& name);
41
    void defparamCb(VFileLine* fl, const string& kwd, const string& lhs, const string& rhs);
42
    void endcellCb(VFileLine* fl, const string& kwd);
43
    void endclassCb(VFileLine* fl, const string& kwd);
44
    void endgroupCb(VFileLine* fl, const string& kwd);
45
    void endinterfaceCb(VFileLine* fl, const string& kwd);
46
    void endmodportCb(VFileLine* fl, const string& kwd);
47
    void endmoduleCb(VFileLine* fl, const string& kwd);
48
    void endpackageCb(VFileLine* fl, const string& kwd);
49
    void endprogramCb(VFileLine* fl, const string& kwd);
50
    void endtaskfuncCb(VFileLine* fl, const string& kwd);
51
    void functionCb(VFileLine* fl, const string& kwd, const string& name, const string& data_type);
52
    void importCb(VFileLine* fl, const string& package, const string& id);
53
    void instantCb(VFileLine* fl, const string& mod, const string& cell, const string& range);
54
    void interfaceCb(VFileLine* fl, const string& kwd, const string& name);
55
    void modportCb(VFileLine* fl, const string& kwd, const string& name);
56
    void moduleCb(VFileLine* fl, const string& kwd, const string& name, bool, bool celldefine);
57
    void packageCb(VFileLine* fl, const string& kwd, const string& name);
58
    void parampinCb(VFileLine* fl, const string& name, const string& conn, int index);
59
    void pinCb(VFileLine* fl, const string& name, const string& conn, int index);
60
    void portCb(VFileLine* fl, const string& name, const string& objof, const string& direction, const string& data_type
61
    , const string& array, int index);
62
    void programCb(VFileLine* fl, const string& kwd, const string& name);
63
    void taskCb(VFileLine* fl, const string& kwd, const string& name);
64
    void varCb(VFileLine* fl, const string& kwd, const string& name, const string& objof, const string& net
65
    , const string& data_type, const string& array, const string& value);
66
    
67
};