/* Copyright Dave Bone 1998 - 2014 All Rights Reserved. No part of this document may be reproduced without written consent from the author. FILE: dbl_colon.lex Dates: 23 Mar 2004 Purpose: part of a C++ thread's name NS_xxx::TH_xxx Output: "::" */ /@ @i "/usr/local/yacco2/copyright.w" @** |dbl_colon| grammar.\fbreak Recognizes the double colon sequence in the subrule's thread call. Why does it exist? Cuz of my distinction between regular grammar expressions and the thread calling type. So this is a word that is outside of identifier thread jurisdiction. i did generalize keywords a long time ago but refined it thru development. @/ fsm (fsm-id "dbl_colon.lex" ,fsm-filename dbl_colon ,fsm-namespace NS_dbl_colon ,fsm-class Cdbl_colon ,fsm-version "1.0",fsm-date "8 Jun 2004",fsm-debug "false" ,fsm-comments "This one's for the thread's name :: lexer.") parallel-parser ( parallel-thread-function TH_dbl_colon *** parallel-la-boundary eolr - ":" *** ) @"/usr/local/yacco2/compiler/grammars/yacco2_T_includes.T" rules{ Rdbl_colon ( lhs { user-declaration public: CAbs_lr1_sym* rtn_sym_; *** op rtn_sym_->set_rc(*rule_info__.parser__->start_token__,__FILE__,__LINE__); RSVP(rtn_sym_); rtn_sym_ = 0; *** } ){ -> ":" ":" { op rtn_sym_ = new T_2colon; *** } } }// end of rules