summaryrefslogtreecommitdiff
path: root/web/yacco2/qa/parallel_parser1.dat
blob: 00bba92cf9ba0887e88c6a5730e83bfa45ede848 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
/*	
file: parallel_parser1.dat
      all directives
*/
fsm	
(fsm-id "parallel_parser_phrase_th.lex"
,fsm-filename parallel_parser_phrase_th
,fsm-namespace NS_parallel_parser_phrase_th
,fsm-class Cparallel_parser_phrase_th{
  user-prefix-declaration
    using namespace NS_yacco2_terminals;
    #include "c:/yacco2/compiler/grammars/ws_eol_k.h"
    #include "c:/yacco2/compiler/grammars/identifier.h"
    #include "c:/yacco2/compiler/grammars/yacco2_syntax_code.h"
    #include "c:/yacco2/compiler/grammars/yacco2_code_end.h"
    #include "c:/yacco2/compiler/grammars/parallel_parser_attributes.h"
  ***
  user-declaration
    public:
    T_parallel_parser_phrase* parallel_parser_phrase_;
    std::map<string,CAbs_lr1_sym*> attributes_map_;
    void remove_attributes_from_map();
    void add_attributes_to_map(CAbs_lr1_sym* Attributes);
  ***
  constructor
    parallel_parser_phrase_ = 0;
  ***
  destructor
    delete parallel_parser_phrase_; // stop_parse: clean up plastic dodos
  ***
  user-implementation
    void Cparallel_parser_phrase_th::remove_attributes_from_map(){
      delete parallel_parser_phrase_;
      parallel_parser_phrase_ = 0;
    }
    
    void 
    Cparallel_parser_phrase_th::
    add_attributes_to_map(CAbs_lr1_sym* Attribute){
      parallel_parser_phrase_->add_attribute_to_map(Attribute,abs_parser());
    }
  ***
  op
    if(parallel_parser_phrase_ != 0){
      delete parallel_parser_phrase_;
      parallel_parser_phrase_ = 0;
    }
    parallel_parser_phrase_ = new T_parallel_parser_phrase;
    parallel_parser_phrase_->rc(abs_parser()->start_token(),abs_parser());
  ***
}
,fsm-version "1.0",fsm-date "11 mar 2004",fsm-debug "true"
,fsm-comments "into the valley of ...")
parallel-parser	
(	
  parallel-thread-function
    TH_parallel_parser_phrase_th
  ***
  parallel-la-boundary
    eolr - ||| - |.|
  ***
  code
    #include <parallel_function_include_code.h>
  ***
)