/* Copyright Dave Bone 1998 - 2014 All Rights Reserved. No part of this document may be reproduced without written consent from the author. FILE: t_def_delabort_tags.lex Dates: 23 Mar 2004 Purpose: terminal-def delete / abort tags Output: #AD #AB */ /@ @i "/usr/local/yacco2/copyright.w" @** |t_def_delabort_tags| Thread.\fbreak Recognize delete / abort tags of a symbol definition. @/ fsm (fsm-id "t_def_delabort_tags.lex" ,fsm-filename t_def_delabort_tags ,fsm-namespace NS_t_def_delabort_tags ,fsm-class Ct_def_delabort_tags ,fsm-version "1.0",fsm-date "23 mar 2004",fsm-debug "false" ,fsm-comments "AB AD grammar symbol tags recognizer.") parallel-parser ( parallel-thread-function TH_t_def_delabort_tags *** parallel-la-boundary eolr - Rminus_la *** ) @"/usr/local/yacco2/compiler/grammars/yacco2_T_includes.T" rules{ Rt_def_delabort_tags ( 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; *** } ){ -> "A" "D" { op rtn_sym_ = new T_AD; *** } -> "A" "B" { op rtn_sym_ = new T_AB; *** } } Rminus_la () { -> "_" -> "-" -> RUPPER_A_M -> RUPPER_N_Z -> Rlower_a_m -> Rlower_n_z -> RNUMBERS } RUPPER_A_M (){ -> A -> B -> C -> D -> E -> F -> G -> H -> I -> J -> K -> L -> M } RUPPER_N_Z (){ -> N -> O -> P -> Q -> "R" // considered a Rule when not quoted! -> S -> T -> U -> V -> W -> X -> Y -> Z } Rlower_a_m (){ -> a -> b -> c -> d -> e -> f -> g -> h -> i -> j -> k -> l -> m } Rlower_n_z (){ -> n -> o -> p -> q -> r -> s -> t -> u -> v -> w -> x -> y -> z } RNUMBERS (){ -> 0 -> 1 -> 2 -> 3 -> 4 -> 5 -> 6 -> 7 -> 8 -> 9 } }// end of rules