Grammatica DMIS Ver 3.02

Appendice C : Grammatica DMIS 3.02

Pagina precedente Appendice B Torna Home Page
Home Page
Scarica File Grammatica
Scarica File Grammatica DMIS 3.02


/*!DMIS INPUT Grammar Version: 3.0 Release 2*/ /*!File: dmi30_2.grm*/ /*----------------------------------------------------------------------*/ /* Title: dmi30_2.grm */ /* Them: input grammar for DMIS 3.0 */ /* Format: Extended Backus-Naur-Form */ /* Generated: 01.09.1994 */ /* Last Modification: 18.11.1996 */ /* */ /* Author: Maik Gummert */ /*----------------------------------------------------------------------*/ /*======================================================================*/ /* Global Rules */ /*----------------------------------------------------------------------*/ /*----------------------------------------------------------------------*/ /* Expressions */ /*----------------------------------------------------------------------*/ <expr>::= <logic_OR_expr> <logic_OR_expr>::= <logic_AND_expr> |<logic_OR_expr> LEX_OR <logic_AND_expr> <logic_AND_expr>::= <equal_expr> |<logic_AND_expr> LEX_AND <equal_expr> <equal_expr>::= <relational_expr> |<equal_expr> LEX_EQ <relational_expr> |<equal_expr> LEX_NE <relational_expr> <relational_expr>::= <add_expr> |<relational_expr> LEX_LT <add_expr> |<relational_expr> LEX_GT <add_expr> |<relational_expr> LEX_LE <add_expr> |<relational_expr> LEX_GE <add_expr> <add_expr>::= <mult_expr> |<add_expr> + <mult_expr> |<add_expr> - <mult_expr> <mult_expr>::= <pot_expr> |<mult_expr> * <pot_expr> |<mult_expr> / <pot_expr> <pot_expr>::= <unary_expr> |<pot_expr> LEX_POT <unary_expr> <unary_expr>::= <primary_expr> | LEX_NOT <primary_expr> | - <primary_expr> | + <primary_expr> <primary_expr>::= LEX_INT |LEX_REAL |LEX_DEGMINSEC |LEX_VAR |( <expr> ) |<intrinsic_func> /*----------------------------------------------------------------------*/ <argument>::= [<sign>] <var_argument> |<varname> |(<label>) <var_argument>::= LEX_INT |LEX_REAL <axis>::= XAXIS |YAXIS |ZAXIS <devices>::= PRINT |TERM |COMM |STOR <dir>::= -XDIR |-YDIR |-ZDIR |XDIR |YDIR |ZDIR <on_off>::= ON |OFF <orig>::= XORIG |YORIG |ZORIG <plan>::= XYPLAN |YZPLAN |ZXPLAN <dist>::= <real> <number>::= [<sign>] <var_number> |<varname> <var_number>::= LEX_INT |LEX_REAL <point>::= <real>,<real>,<real> <sign>::= + |- /*----------------------------------------------------------------------*/ /* Token generated by lexikal analysis */ /*----------------------------------------------------------------------*/ <text_string>::= ' LEX_TEXT ' <label>::= LEX_LABEL |LEX_INT |LEX_VAR <integer>::= [<sign>] LEX_INT |<varname> <real>::= [<sign>] <var_real_1> |<varname> <var_real_1>::= LEX_REAL |LEX_INT /* Integer also allowed as Real */ <varname>::= LEX_VAR <angle>::= <real> |LEX_DEGMINSEC <single_dat>::= LEX_SDATUM <comp_dat>::= LEX_CDATUM /*----------------------------------------------------------------------*/ <actuals>::= FA(<label>) |TA(<label>) <feature>::= F(<label>) |FA(<label>) <nominals>::= F(<label>) |T(<label>) <tolerance>::= T(<label>) |TA(<label>) <sensor>::= S(<label>) |SA(<label>) /*======================================================================*/ /*----------------------------------------------------------------------*/ /* Grammar for DMIS 3.0 input*/ /*----------------------------------------------------------------------*/ /* <input_file> is the start symbol */ /*----------------------------------------------------------------------*/ <input_file>::= <dmis_first_stm> <dmis_var1> # <dmis_first_stm>::= <dmismn> |<dmismd> |error # /* YACC-Errorhandling new in dmi30_1.grm */ <dmis_var1>::= <endfil> |<dmis_seq> <endfil> /*----------------------------------------------------------------------*/ /* DMIS-Sequenz */ /*----------------------------------------------------------------------*/ <dmis_seq>::= <dmis_def> |<dmis_seq> <dmis_def> |<dmis_stm> |<dmis_seq> <dmis_stm> |error # /* YACC-Errorhandling */ /*----------------------------------------------------------------------*/ /* DMIS-Definition */ /*----------------------------------------------------------------------*/ <dmis_def>::= <algdef_def># |<assign_def># |<clmpid_def># |<clmpsn_def># |<crgdef_def># |<cutcom_def># |<czone_def># |<datset_def># |<device_def># |<dmeid_def># |<dmeswi_def># |<dmeswv_def># |<feat_def># |<fildef_def># |<fixtid_def># |<fixtsn_def># |<litdef_def># |<lotid_def># |<mfgdev_def># |<obtain_def># |<operid_def># |<partid_def># |<partrv_def># |<partsn_def># |<planid_def># |<prevop_def># |<procid_def># |<report_def># |<rotate_def># |<rotdef_def># |<snsdef_def># |<thldef_def># |<tol_def># |<tooldf_def># |<trans_def># |<value_def># |<vform_def># |<windef_def># /*----------------------------------------------------------------------*/ /* DMIS-Statement */ /*----------------------------------------------------------------------*/ <dmis_stm>::= (<label>)# |<calib_seq># |<do_seq># |<if_seq># |<macro_seq># |<meas_seq># |<move_seq># |<rmeas_seq># |<select_seq># |<xtern_seq># |<aclrat># |<bound># |<call># |<close># |<const># |<crmode># |<crslct># |<czslct># |<datdef># |<decl># |<delete># /* only in DMIS Input */ |<disply># |<dmehw># |<dmesw># |<dmis># |<error># |<eval># |<fedrat># |<filnam># |<finpos># |<from># |<geoalg># |<gohome># |<goto># |<includ># |<jumpto># |<mode># |<open># |<output># |<prcomp># |<psthru># |<ptbuff># |<ptmeas># |<rapid># |<read># |<recall># |<rotab># |<rotset># |<save># |<scan># |<scnmod># |<scnpln># |<scnset># |<snset># |<snslct># |<snsmnt># |<tecomp># |<text># |<units># |<wkplan># |<write># /*----------------------------------------------------------------------*/ /* 4.1 FEATURE DEFINITIONS */ /*----------------------------------------------------------------------*/ /* FEAT is LR(1) */ /*----------------------------------------------------------------------*/ <feat_def>::= F(<label>)=FEAT/<var_feat_1> <var_feat_1>::= ARC, <var_feat_2> |CIRCLE, <material_direction>, <coordinate_type>, <point>, <point>, <diam> |CONE , <material_direction>, <coordinate_type>, <point>, <point>, <angle> |CPARLN, <material_direction>, <fr>, <coordinate_type>, <point>, <point>, <point>, <len>, <wid> |CYLNDR, <material_direction>, <coordinate_type>, <point>, <point>, <diam> [,<len>] |ELLIPS, <material_direction>, <coordinate_type>, <point>, <point>, <ellipse axis>, <point>, <diam> |GCURVE, <coordinate_type>, <point>, <point> |GSURF |LINE , <line_type>, <coordinate_type>, <point>, <point>, <point> |OBJECT, <point>, <point>, <text_string> |PARPLN, <material_direction>, <coordinate_type>, <point>, <point>, <point>, <point>, <point>, <wid> |PATERN, F(<label>), F(<label>) [,F(<label>)...] |PLANE , <coordinate_type>, <point>, <point> |POINT , <coordinate_type>, <point>, <point> /* FEAT/PTDATA hat kein Input Format */ |RCTNGL, <material_direction>, <coordinate_type>, <point>, <point>, <wid>, <point>, <wid>, <point>, <wid> |SPHERE, <material_direction>, <coordinate_type>, <point>, <wid> <var_feat_2>::= <material_direction>, <coordinate_type>, <point>, <point>, <real>, <angle>, <angle> |4POINT, <material_direction>, <point>, <point>, <point>, <point> <material_direction>::= INNER|OUTER <coordinate_type>::= CART|POL <fr>::= FLAT|ROUND <ellipse axis>::= MAJOR|MINOR <line_type>::= BND|UNBND <wid>::= <real> /*----------------------------------------------------------------------*/ /* 4.2 TOLERANCE DEFINITIONS */ /*----------------------------------------------------------------------*/ /* TOL is LR(1) */ /*----------------------------------------------------------------------*/ <tol_def>::= T(<label>)=TOL/<var_tol> <var_tol>::= ANGLB, <real>,<real>,<real> |ANGL, <real>,<real> |ANGLR, <real>,<real>,[<var_tol_1>,]<var_tol_2>[,TANGPL] |CIRLTY <real> |COMPOS,PATERN,<real>,[<var_tol_1>,][<var_tol_6>,...3] FEATUR,<real>,[<var_tol_1>,]<single_dat> |CONCEN,<real>,<var_tol_4> |CORTOL,<var_tol_5>,<real>,<real> |CPROFS,<var_tol_3>,[AVGDEV,]<var_tol_3>[,AVGDEV] |CRNOUT,<real>,<single_dat>[,<var_tol_4>...2] |CYLCTY,<real> |DIAM, <real>,<real>[,AVG] |DISTB, <var_tol_15>,<var_tol_11>,<var_tol_12> |FLAT , <real> |PARLEL,<real>, [<var_tol_1>,]<var_tol_6>[,TANGPL] |PERP, <real>, [<var_tol_1>,]<var_tol_6>[,TANGPL] |POS, <var_tol_14>,<real>[,<var_tol_1>][,<var_tol_6>...3][,<var_tol_5>] |PROFL, <real>,<real>[,<var_tol_6>...3] |PROFP, <real>,<real>[,<var_tol_6>...3] |PROFS, <real>,<real>[,<var_tol_6>...3][,AVGDEV] |RAD, <real>,<real>[,AVG|,CRAD] |STRGHT,<real>[,<var_tol_1>] |SYM, <real>,<var_tol_6> |TRNOUT,<real>,<single_dat>[,<var_tol_4>...2] |USETOL,<text_string> |WIDTH, <real>,<real>[,<point>] <var_tol_1>::= MMC |LMC |RFS <var_tol_2>::= <single_dat>[,<var_tol_1>] |<feature> <var_tol_3>::= <real>,<real>,<var_tol_6>,<var_tol_6>,<var_tol_6> <var_tol_4>::= <single_dat> |<feature> <var_tol_5>::= XAXIS |YAXIS |ZAXIS |RADIUS |ANGLE <var_tol_6>::= <single_dat>[,<var_tol_1>] |F(<label>) |FA(<label>)[,<var_tol_1>] <var_tol_7>::= <var_tol_1>[,<var_tol_8>] |<var_tol_6>[,<var_tol_9>] |<var_tol_5> <var_tol_8>::= <var_tol_6>[, <var_tol_9>] |<var_tol_5> <var_tol_9>::= <var_tol_6>[, <var_tol_10>] |<var_tol_5> <var_tol_10>::= <var_tol_6>[, <var_tol_5>] |<var_tol_5> <var_tol_11>::= XAXIS |YAXIS |ZAXIS |PT2PT <var_tol_12>::= /* leer */ |AVG |MAX |MIN <var_tol_14>::= 2D |3D <var_tol_15>::= NOMINL <real>,<real>,<real> |LIMIT <real>,<real> /*----------------------------------------------------------------------*/ /* 4.3 BOUNDARY DEFINITION */ /*----------------------------------------------------------------------*/ /* BOUND is LR(1) */ /*----------------------------------------------------------------------*/ <bound>::= BOUND/<nominals>,<feature>,[<feature>...] /*----------------------------------------------------------------------*/ /* 4.4 ALGORITMIC DEFINITIONS */ /*----------------------------------------------------------------------*/ /* ALGDEF is LR(1) */ /*----------------------------------------------------------------------*/ <algdef_def>::= VA(<label>)=ALGDEF/CODE <integer> /*----------------------------------------------------------------------*/ /* GEOALG is LR(1) */ /*----------------------------------------------------------------------*/ <geoalg>::= GEOALG/<var_geoalg_1> <var_geoalg_1>::= ARC, <var_geoalg_3> |ELLIPS, <var_geoalg_3> |LINE, <var_geoalg_3> |PARPLN, <var_geoalg_3> |PLANE, <var_geoalg_3> |RCTNGL, <var_geoalg_3> |CIRCLE, <var_geoalg_4> |CONE, <var_geoalg_4> |CYLNDR, <var_geoalg_4> |SHERE, <var_geoalg_4> |GCURVE, <var_geoalg_5> |GSURF, <var_geoalg_6> |<var_geoalg_2>, EXTERN, <var_geoalg_7> <var_geoalg_2>::= CPARLN |OBJECT <var_geoalg_3>::= LSTSQR |MINMAX |DEFALT |EXTERN, <var_geoalg_7> <var_geoalg_4>::= <var_geoalg_3> |MAXINS |MINCIR <var_geoalg_5>::= <var_geoalg_3> |BSPLIN <var_geoalg_6>::= <var_geoalg_3> |BEZIER |NURBS <var_geoalg_7>::= DMIS, M(<label>) [,<argument>...] |DME, <varname> |SYS, <text_string> /*----------------------------------------------------------------------*/ /* 5.2 PART COORDINATE SYSTEMS */ /*----------------------------------------------------------------------*/ /* DATDEF is LR(1) */ /*----------------------------------------------------------------------*/ <datdef>::= DATDEF/<var_datdef_1> <var_datdef_1>::= FA(<label>), <var_datdef_2> |F(<label>), <single_dat> <var_datdef_2>::= <single_dat> |<comp_dat> /*----------------------------------------------------------------------*/ /* DATSET is LR(1) */ /*----------------------------------------------------------------------*/ <datset_def>::= D(<label>)=DATSET/<var_datset_1> <var_datset_1>::= MCS |<single_dat>, <dir> [,<orig>...3] [,<single_dat> [,<dir>][,<orig>...3]...2] /*----------------------------------------------------------------------*/ /* DELETE is LR(1) */ /*----------------------------------------------------------------------*/ <delete>::= DELETE/<var_delete_1> [,DID(<label>)] <var_delete_1>::= D(<label>) |DA(<label>) |S(<label>) |SA(<label>) |FA(<label>) |RT(<label>) /*----------------------------------------------------------------------*/ /* RECALL is LR(1) */ /*----------------------------------------------------------------------*/ <recall>::= RECALL/<var_delete_1> [,DID(<label>)] /*----------------------------------------------------------------------*/ /* ROTATE is LR(1) */ /*----------------------------------------------------------------------*/ <rotate_def>::= D(<label>)=ROTATE/<axis>, <var_rotate_2> <var_rotate_2>::= <angle> |F(<label>), <dir> |FA(<label>), <dir> |<single_dat> /*----------------------------------------------------------------------*/ /* SAVE is LR(1) */ /*----------------------------------------------------------------------*/ <save>::= SAVE/<var_delete_1> [,DID(<label>)] /*----------------------------------------------------------------------*/ /* TRANS is LR(1) */ /*----------------------------------------------------------------------*/ <trans_def>::= D(<label>)=TRANS/<var_trans_1> [,<var_trans_1>...2] <var_trans_1>::= <orig>, <var_trans_2> <var_trans_2>::= <real> |F(<label>) |FA(<label>) |<single_dat>) |-PRBRD |PRBRD /*----------------------------------------------------------------------*/ /* WKPLAN is LR(1) */ /*----------------------------------------------------------------------*/ <wkplan>::= WKPLAN/<plan> /*----------------------------------------------------------------------*/ /* 6.1 SENSOR DEFINITIONS */ /*----------------------------------------------------------------------*/ /* SNSDEF is LR(1) */ /*----------------------------------------------------------------------*/ <snsdef_def>::= S(<label>)=SNSDEF/<var_snsdef> <var_snsdef>::= PROBE, <var_snsdef_1>, <var_snsdef_2> [,<var_snsdef_3>] |VIDEO, <var_snsdef_1>, <var_snsdef_5>, <focal>, <mag>, <apert> |LASER, <var_snsdef_1>, <var_snsdef_6>, <power>, <shuter> |INFRED, <var_snsdef_1>, <var_snsdef_5>, <fovx>, <fovy>, <freq>, <dwell> |NONCON, <var_snsdef_1>, <var_snsdef_5>, <proben> |XRAY, <var_snsdef_1>, <var_snsdef_5>, <power>, <amps>, <spotsz> <var_snsdef_1>::= FIXED |INDEX <var_snsdef_2>::= CART, <point>, <point>, <diam> |POL, <tilt>, <rot>, <point>, <len>, <diam> |VEC, <point>, <point>, <len>, <diam> |<var_snsdef_4>, CART, <point>, <diam> |<var_snsdef_4>, VEC, <point>, <len>, <diam> <var_snsdef_3>::= SPHERE |CYLNDR, <len> |DISK, <thkn> <var_snsdef_4>::= S(<label>) |SA(<label>) <var_snsdef_5>::= CART, <point>, <point> |POL, <tilt>, <rot>, <point> |VEC, <point>, <point> <var_snsdef_6>::= CART, <point>, <point> |POL, <tilt>, <rot> |VEC, <point>, <point> <diam>::= <real> <len>::= <real> <tilt>::= <angle> <rot>::= <angle> <vec>::= <point> <thkn>::= <real> <focal>::= <real> <mag>::= <real> <apert>::= <real> <power>::= <integer> <shuter>::= <integer> <fovx>::= <real> <fovy>::= <real> <freq>::= <integer> <dwell>::= <integer> <proben>::= <integer> <amps>::= <real> <spotsz>::= <real> /*----------------------------------------------------------------------*/ /* SNSMNT is LR(1) */ /*----------------------------------------------------------------------*/ <snsmnt>::= SNSMNT/XVEC, <point>, ZVEC, <point>, MNTLEN, <point> /*----------------------------------------------------------------------*/ /* 6.2 SENSOR CALIBRATION */ /*----------------------------------------------------------------------*/ /* CALIB is LR(1) */ /*----------------------------------------------------------------------*/ <calib_seq>::= <calib> # <meas_stm_seq> ENDMES <calib>::= CALIB/<var_calib_1> <var_calib_1>::= SENS, S(<label>), <var_calib_2> |RTAB, RT(<label>), <var_calib_3> <var_calib_2>::= FA(<label>), <integer> |F(<label>), <integer> <var_calib_3>::= FA(<label>), <integer> |FA(<label>), FA(<label>) /*----------------------------------------------------------------------*/ /* 6.3 SENSOR SETTINGS */ /*----------------------------------------------------------------------*/ /* SNSET is LR(1) */ /*----------------------------------------------------------------------*/ <snset>::= SNSET/<var_snset_1> <var_snset_1>::= APPRCH, <dist> |RETRCT, <dist> |SEARCH, <dist> |CLRSRF, <var_snset_2> |DEPTH , <var_snset_2> |VA(<label>)[, <var_snset_1>] |VF(<label>)[, <var_snset_1>] |VL(<label>), <intensity>[, <var_snset_1>] |VW(<label>)[, <var_snset_1>] |FOCUSY[, <var_snset_1>] |FOCUSN[, <var_snset_1>] |SCALEX, <real>[, <var_snset_1>] |SCALEY, <real>[, <var_snset_1>] <var_snset_2>::= F(<label>)[,<dist>] |FA(<label>)[,<dist>] |<single_dat>[,<dist>] |<dist> <dist>::= <real> <intensity>::= <real> /*----------------------------------------------------------------------*/ /* FILDEF is LR(1) */ /*----------------------------------------------------------------------*/ <fildef_def>::= VF(<label>)=FILDEF/CODE, <integer> /*----------------------------------------------------------------------*/ /* LITDEF is LR(1) */ /*----------------------------------------------------------------------*/ <litdef_def>::= VL(<label>)=LITDEF/<var_litdef> <var_litdef>::= <var_litdef_1>, <point> |STROBE, <var_litdef_2>, <timeon>, <point> <var_litdef_1>::= SURF |BACK |GRID |OBLQ <var_litdef_2>::= CYCLE, <real> |TRIGER <timeon>::= <real> /*----------------------------------------------------------------------*/ /* WINDEF is LR(1) */ /*----------------------------------------------------------------------*/ <windef_def>::= VW(<label>)=WINDEF/<var_windef_1> <var_windef_1>::= EDGELN, <point>, <angle>, <len> |BOX, <point>, <real>, <real>, <angle> /*----------------------------------------------------------------------*/ /* 6.4 SENSOR SELECTION */ /*----------------------------------------------------------------------*/ /* SNSLCT is LR(1) */ /*----------------------------------------------------------------------*/ <snslct>::= SNSLCT/<var_snslct_1>[, <var_snslct_1>...] <var_snslct_1>::= S(<label>) |SA(<label>) /*----------------------------------------------------------------------*/ /* THLDEF is LR(1) */ /*----------------------------------------------------------------------*/ <thldef_def>::= TH(<label>)=THLDEF/<var_thldef_1>[,<var_thldef_1>...] <var_thldef_1>::= S(<label>), <integer> /*----------------------------------------------------------------------*/ /* 7.1 GEN. FILE & MACHINE PARAMETERS */ /*----------------------------------------------------------------------*/ /* ACLRAT is LR(1) */ /*----------------------------------------------------------------------*/ <aclrat>::= ACLRAT/<var_aclrat_1>, <var_aclrat_2> [,<real>] <var_aclrat_1>::= MESACL |POSACL |ROTACL <var_aclrat_2>::= MPMM |IPMM |PCENT |HIGH |LOW /*----------------------------------------------------------------------*/ /* DMISMD is LR(1) */ /*----------------------------------------------------------------------*/ <dmismd>::= DMISMD/<text_string> # /*----------------------------------------------------------------------*/ /* DMISMN is LR(1) */ /*----------------------------------------------------------------------*/ <dmismn>::= DMISMN/<text_string> # /*----------------------------------------------------------------------*/ /* ENDFIL is LR(1) */ /*----------------------------------------------------------------------*/ <endfil>::= ENDFIL /*----------------------------------------------------------------------*/ /* ERROR is LR(1) */ /*----------------------------------------------------------------------*/ <error>::= ERROR/(<label>), <errcode> <errcode>::= <integer> /*----------------------------------------------------------------------*/ /* FEDRAT is LR(1) */ /*----------------------------------------------------------------------*/ <fedrat>::= FEDRAT/<var_fedrat_1>, <var_fedrat_2> [,<real>] <var_fedrat_1>::= MESVEL |POSVEL |ROTVEL |SCNVEL <var_fedrat_2>::= MPM |IPM |RPM |PCENT |HIGH |LOW |DEFAULT /*----------------------------------------------------------------------*/ /* FILNAM is LR(1) */ /*----------------------------------------------------------------------*/ <filnam>::= FILNAM/<text_string> /*----------------------------------------------------------------------*/ /* FINPOS is LR(1) */ /*----------------------------------------------------------------------*/ <finpos>::= FINPOS/<on_off> /*----------------------------------------------------------------------*/ /* MODE is LR(1) */ /*----------------------------------------------------------------------*/ <mode>::= MODE/<var_mode_1> <var_mode_1>::= [AUTO,] [PROG,] MAN /*----------------------------------------------------------------------*/ /* PRCOMP is LR(1) */ /*----------------------------------------------------------------------*/ <prcomp>::= PRCOMP/<on_off> /*----------------------------------------------------------------------*/ /* RAPID is LR(1) */ /*----------------------------------------------------------------------*/ <rapid>::= RAPID/<real> /*----------------------------------------------------------------------*/ /* TECOMP is LR(1) */ /*----------------------------------------------------------------------*/ <tecomp>::= TECOMP/<on_off> /*----------------------------------------------------------------------*/ /* UNITS is LR(1) */ /*----------------------------------------------------------------------*/ <units>::= UNITS/ <var_units_1>, <var_units_2>, <var_units_3> <var_units_1>::= MM |CM |M |INCH |FEET <var_units_2>::= ANGDEC |ANGDMS |ANGRAD <var_units_3>::= [TEMPF |TEMPC ] /*----------------------------------------------------------------------*/ /* 7.2 ROTARY TABLE STATEMENTS */ /*----------------------------------------------------------------------*/ /* ROTSET is LR(1) */ /*----------------------------------------------------------------------*/ <rotset>::= ROTSET/RT(<label>) LEX_DEGMINSEC /*----------------------------------------------------------------------*/ /* ROTTAB is LR(1) */ /*----------------------------------------------------------------------*/ <rotab>::= ROTAB/RT(<label>), <var_rotab_1>, <var_rotab_4>, <angle> <var_rotab_1>::= INCR, <var_rotab_3> |ABSL, <var_rotab_2> <var_rotab_2>::= CW |CCW |SHORT <var_rotab_3>::= CW |CCW <var_rotab_4>::= ROTTOT |ROTORG |ROTNUL /*----------------------------------------------------------------------*/ /* ROTDEF is LR(1) */ /*----------------------------------------------------------------------*/ <rotdef_def>::= RT(<label>)=ROTDEF/<point> <point> [RT(<label>] /*----------------------------------------------------------------------*/ /* 7.3 PARALLEL SYSTEMS */ /*----------------------------------------------------------------------*/ /* CRGDEF is LR(1) */ /*----------------------------------------------------------------------*/ <crgdef_def>::= CR(<label>)=CRGDEF/<var_crgdef_1> <var_crgdef_1>::= <point>,<point>,<point>,<point>,<point>,<point> /*----------------------------------------------------------------------*/ /* CRMODE is LR(1) */ /*----------------------------------------------------------------------*/ <crmode>::= CRMODE/<var_crmode_1> <var_crmode_1>::= SELQNTL |SIMUL |SYNC /*----------------------------------------------------------------------*/ /* CRSLCT is LR(1) */ /*----------------------------------------------------------------------*/ <crslct>::= CRSLCT/<var_crslct_1> <var_crslct_1>::= CR(<label>) |ALL /*----------------------------------------------------------------------*/ /* CZONE is LR(1) */ /*----------------------------------------------------------------------*/ <czone_def>::= CZ(<label>)=CZONE /*----------------------------------------------------------------------*/ /* CZSLCT is LR(1) */ /*----------------------------------------------------------------------*/ <czslct>::= CZSLCT/CZ(<label>), <on_off> /*----------------------------------------------------------------------*/ /* 8.0 MOTIONS AND MEASUREMENTS */ /*----------------------------------------------------------------------*/ /* 8.1 MOTIONS */ /*----------------------------------------------------------------------*/ /* FROM is LR(1) */ /*----------------------------------------------------------------------*/ <from>::= FROM/<point> /*----------------------------------------------------------------------*/ /* GOHOME is LR(1) */ /*----------------------------------------------------------------------*/ <gohome>::= GOHOME /*----------------------------------------------------------------------*/ /* GOTARG is LR(1) */ /*----------------------------------------------------------------------*/ <move_seq>::= <gotarg> # <goto_seq> ENDGO <gotarg>::= GOTARG/<point> <goto_seq>::= <goto># |<goto_seq> <goto># /*----------------------------------------------------------------------*/ /* GOTO is LR(1) */ /*----------------------------------------------------------------------*/ <goto>::= GOTO/<var_goto_1> <var_goto_1>::= <point> |INCR <dist>, <point> /*----------------------------------------------------------------------*/ /* 8.2 MEASUREMENTS */ /*----------------------------------------------------------------------*/ /* MEAS is LR(1) */ /*----------------------------------------------------------------------*/ <meas_seq>::= <meas># <meas_stm_seq> ENDMES <meas_stm_seq>::= /* leer */ |<meas_stm>[, <meas_stm>...] |error # /* YACC-Errorhandling new in dmi30_1.grm */ <meas_stm>::= <aclrat> # |<czslct> # |<dmehw> # |<dmesw> # |<move_seq> # |<goto> # |<fedrat> # |<finpos> # |<from> # |<gohome> # |<ptmeas> # |<rapid> # |RECALL/<sensor> # |<rotab> # |<rotset> # |SAVE/<sensor># |<scan> # |<scnpln> # |<snset> # |<snslct> # |<text> # |<wkplan> # <meas>::= MEAS/<var_meas_1>, F(<label>), <integer> <var_meas_1>::= ARC |CIRCLE |CONE |CYLNDR |GCURVE |GSURF |ELLIPS |LINE |OBJECT |PARPLN |PATERN |PLANE |POINT |RCTNGL |SPHERE /*----------------------------------------------------------------------*/ /* PTMEAS is LR(1) */ /*----------------------------------------------------------------------*/ <ptmeas>::= PTMEAS/<coordinate_type> <point> [,<point>] /*----------------------------------------------------------------------*/ /* RMEAS is LR(1) */ /*----------------------------------------------------------------------*/ <rmeas_seq>::= <rmeas># <meas_stm_seq> ENDMES <rmeas>::= RMEAS/<var_rmeas> <var_rmeas>::= <var_rmeas_1>, F(<label>), <integer>, <var_rmeas_7> |<var_rmeas_2>, F(<label>), <integer>, FA(<label>) |CPARLN, F(<label>), <integer> <var_rmeas_7> [,ORIENT] |<var_rmeas_4>, F(<label>), <integer>, <var_rmeas_8> |<var_rmeas_5>, F(<label>), <integer>, <var_rmeas_9> |POINT, F(<label>), <integer>, <var_rmeas_10> <var_rmeas_1>::= ARC |CIRCLE |CYLNDR |ELLIPS |OBJECT <var_rmeas_2>::= CONE |PARPLN |PATERN |RCTNGL <var_rmeas_4>::= GCURVE |GSURF |LINE <var_rmeas_5>::= PLANE |SPHERE <var_rmeas_7>::= FA(<label>) |VECBLD, <real>, <integer> <var_rmeas_8>::= F(<label>) [,<axis>] |FA(<label>) [,<axis>] |VECBLD <real> <integer> |<axis> <var_rmeas_9>::= FA(<label>) [,<axis>] |<axis> <var_rmeas_10>::= FA(<label>) [,<axis>] |VECBLD, <real>, <integer> |<axis> /*----------------------------------------------------------------------*/ /* 8.3 SCANNING COMMANDS */ /*----------------------------------------------------------------------*/ /* SCAN is LR(1) */ /*----------------------------------------------------------------------*/ <scan>::= SCAN/<var_scan_1> <var_scan_1>::= PAUSE |CONTIN /*----------------------------------------------------------------------*/ /* SCNMOD is LR(1) */ /*----------------------------------------------------------------------*/ <scnmod>::= SCNMOD/<on_off> /*----------------------------------------------------------------------*/ /* SCNPLN is LR(1) */ /*----------------------------------------------------------------------*/ <scnpln>::= SCNPLN/<var_scnpln_1> <var_scnpln_1>::= VEC, <point> |F(<label>) |FA(<label>) |AUTO /*----------------------------------------------------------------------*/ /* SCNSET is LR(1) */ /*----------------------------------------------------------------------*/ <scnset>::= SCNSET/<var_scnset_1> <var_scnset_1>::= DRAG, <var_scnset_4> |PECK, <var_scnset_2> |NONCON, <var_scnset_2> <var_scnset_2>::= <var_scnset_3> |DIST, <real> [, <axis>] |CHORD, <real>[, <maxdist>] <var_scnset_3>::= TIME, <real> |ANGLE, <angle> |DEFALT <var_scnset_4>::= <var_scnset_3> [,FORCE, <real>] |DIST, <real> [,<var_scnset_5>] |CHORD, <real> [, <var_scnset_6>] <var_scnset_5>::= <axis>[,FORCE, <real>] |FORCE, <real> <var_scnset_6>::= <axis>[,<maxdist>] |<maxdist> <maxdist>::= <real> /*----------------------------------------------------------------------*/ /* 9.0 FEATURE CONSTRUCTION */ /*----------------------------------------------------------------------*/ /* CONST is LR(1) */ /*----------------------------------------------------------------------*/ <const>::= CONST/<var_const_1> <var_const_1>::= ARC,F(<label>),<var_arc_1> |CIRCLE,F(<label>),<var_circle_1> |LINE,F(<label>),<var_line_1> |PLANE,F(<label>),<var_plane_1> |POINT,F(<label>),<var_point_1> |<var_const_3>,F(<label>),<var_const_2> <var_const_3>::=CONE |CYLNDR |CPARLN |ELLIPS |PATERN |RCTNGL |SPHERE <var_const_2>::= BF,FA(<label>),<feature>[,<feature>...] <var_arc_1>::= <var_const_2> |PROJCT,FA(<label>) [,<feature>] <var_circle_1>::= <var_const_2> |PROJCT,FA(<label>) [,<feature>] |TANTO, <var_circle_2> |INTOF FA(<label>),<feature> <var_circle_2>::= FA(<label>),<var_circle_3> |F(<label>),THRU,FA(<label>) <var_circle_3>::= THRU,<feature> |<feature> <var_line_1>::= <var_const_2> |MIDLI,FA(<label>),<feature> |PROJLI,FA(<label>),[<feature>] |TANTO,<var_line_3> |INTOF,FA(<label>),<feature> |PERPTO, <var_line_2> |PARTO, <var_line_2> <var_line_3>::= FA(<label>),<var_line_4> |F(<label>),THRU,FA(<label>) <var_line_4>::= <feature> |THRU,<feature> <var_line_2>::= FA(<label>),THRU,<feature> |F(<label>),THRU,FA(<label>) <var_plane_1>::= <var_const_2> |PERPTO,<var_plane_2> |TANTO,<var_plane_2> |PARTO,<var_plane_2> |MIDPL,FA(<label>),<feature> <var_plane_2>::= FA(<label>),THRU,<feature> |F(<label>),THRU,FA(<label>) <var_point_1>::= INTOF,FA(<label>),<feature> |MIDPT,FA(<label>),<feature> |VERTEX, FA(<label>) |PROJPT, FA(<label>)[,<feature>] |MOVEPT, FA(<label>),<var_point_2> |CURVE, FA(<label>), <feature> <var_point_2>::= <point> |<feature>,<dist> /*----------------------------------------------------------------------*/ /* 10.0 HIGH LEVEL LANGUAGE EXTENSIONS */ /*----------------------------------------------------------------------*/ /* 10.1 Major/Minor High Level Language Work List */ /*----------------------------------------------------------------------*/ /* 10.2 Program Structure */ /*----------------------------------------------------------------------*/ /* INCLUD is LR(1) */ /*----------------------------------------------------------------------*/ <includ>::= INCLUD/<var_includ_1>, <text_string> <var_includ_1>::= DMIS |DME /*----------------------------------------------------------------------*/ /* 10.3 Program Declaration */ /*----------------------------------------------------------------------*/ /* DECL is LR(1) */ /*----------------------------------------------------------------------*/ <decl>::= DECL/[<var_decl_1>,] <var_decl_2> [,<var_decl_3>...] <var_decl_1>::= COMMON |GLOBAL |LOCAL <var_decl_2>::= BOOL |INTGR |LONG |REAL |DOUBLE |CHAR, <integer> /* Achtung! Der Backslash \ hebt die Bedeutung von [ ] auf */ /* In diesem Fall soll das Zeichen [ bzw. ] geparst werden. */ <var_decl_3>::= <varname>[<var_decl_4>] <var_decl_4>::= \[ <integer> [, <integer>] \] /*----------------------------------------------------------------------*/ /* EXTFIL is LR(1) */ /*----------------------------------------------------------------------*/ <xtern_seq>::= XTERN # <var_xtern_1> ENDXTN <var_xtern_1>::= <extfil> |<var_xtern_1> <extfil> <extfil>::= EXTFIL/<var_extfil_1>, <text_string> <var_extfil_1>::= DMIS |DME |SYS /*----------------------------------------------------------------------*/ /* 10.4 MACRO Definition */ /*----------------------------------------------------------------------*/ /* CALL is LR(1) */ /*----------------------------------------------------------------------*/ <call>::= CALL/<var_call_1> [, <argument>...] <var_call_1>::= M(<label>) |EXTERN <var_call_2> <var_call_2>::= DMIS, M(<label>) |<var_call_3>, <text_string> [,<var_call_4>] <var_call_3>::= DME |SYS <var_call_4>::= WAIT |CONT |SPAWN |ATTACH /*----------------------------------------------------------------------*/ /* MACRO is LR(1) */ /*----------------------------------------------------------------------*/ <macro_seq>::= <macro_def># <dmis_seq> ENDMAC <macro_def>::= M(<label>)=MACRO [/<var_macro_1>[,<var_macro_1>...]] <var_macro_1>::= <varname> |"<label>" /*----------------------------------------------------------------------*/ /* 10.5 Variable Assignment */ /*----------------------------------------------------------------------*/ /* ASSIGN is LR(1) */ /*----------------------------------------------------------------------*/ <assign_def>::= <varname>=ASSIGN/<expr> /*----------------------------------------------------------------------*/ /* OBTAIN is LR(1) */ /*----------------------------------------------------------------------*/ <obtain_def>::= <varname>=OBTAIN/<var_obtain_1>, <integer> <var_obtain_1>::= <var_obtain_2> (<label>) |F(<label>) [ \[<integer>\] ] |FA(<label>) [ \[<integer>\] ] <var_obtain_2>::= CC |CI |CS |CR |D |DA |DI |DID |DS |DV |FI |FS |LI |MD |OP |PC |PL |PN |PR |PS |PV |RT |S |SA |T |TA |TL |TH |VA |VF |VL |VW /*----------------------------------------------------------------------*/ /* VALUE is LR(1) */ /*----------------------------------------------------------------------*/ <value_def>::= <varname>=VALUE/<var_value_1> <var_value_1>::= FA(<label>), SIZE |TA(<label>), <var_value_2> <var_value_2>::= INTOL |OUTOL |ACT |DEV |AMT /*----------------------------------------------------------------------*/ /* 10.6 Assignment Operators */ /*----------------------------------------------------------------------*/ /*----------------------------------------------------------------------*/ /* 10.7 Branching and Looping */ /*----------------------------------------------------------------------*/ /* SELECT is LR(1) */ /*----------------------------------------------------------------------*/ <select_seq>::= SELECT/<varname># <case_seq>[<case_seq>...][<dftcas>]ENDSEL <case_seq>::= <case>[<case>...]<dmis_seq> ENDCAS # <case>::= CASE/<var_case_1> # <dftcas>::= DFTCAS # <dmis_seq> ENDCAS # <var_case_1>::= <integer> |<text_string> /*----------------------------------------------------------------------*/ /* DO is LR(1) */ /*----------------------------------------------------------------------*/ <do_seq>::= DO/<varname>, <initial>, <limit> [,<increment>]# <dmis_seq> ENDDO <initial>::= <integer> <limit>::= <integer> <increment>::= <integer> /*----------------------------------------------------------------------*/ /* IF is LR(1) */ /*----------------------------------------------------------------------*/ <if_seq>::= IF/(<expr>) # <dmis_seq> <else> ENDIF <else>::= /* leer */ |ELSE # <dmis_seq> /*----------------------------------------------------------------------*/ /* JUMPTO is LR(1) */ /*----------------------------------------------------------------------*/ <jumpto>::= JUMPTO/(<label>) /*----------------------------------------------------------------------*/ /* 10.8 Intrinsic Functions */ /*----------------------------------------------------------------------*/ <intrinsic_func>::= ABS(<number>) |ACOS(<number>) |ASIN(<number>) |ATAN(<number>) |ATAN2(<number>,<number>) |COS(<number>) |DBLE(<number>) |DTOR(<angle>) |EXP(<number>) |INT(<number>) |LN(<number>) |LOG(<number>) |MX(<number>[,<number>...]) |MN(<number>[,<number>...]) |MOD(<integer>) |NINT(<number>) |RTOD(<angle>) |RL(<number>) |SIGN(<number>) |SIN(<number>) |SQRT(<number>) |TAN(<number>) |CHR(<number>) |CONCAT(<text_string>[,<text_string>...]) |ELEMNT(<integer>,<text_string>,<text_string>) |INDX(<text_string>,<text_string>) |LEN(<text_string>) |ORD(<text_string>) |STR(<number>) |SUBSTR(<text_string>,<integer>[,<integer>]) |VAL(<text_string>) |SDATE() |STIME() |ENDOFF(DID(<label>)) |ENDOFL(DID(<label>)) /*----------------------------------------------------------------------*/ /* 11.1 IPV STATEMENTS */ /*----------------------------------------------------------------------*/ /* CUTCOM is LR(1) */ /*----------------------------------------------------------------------*/ <cutcom_def>::= CC(<label>)=CUTCOM/MD(<label>), <var_cutcom_1> <var_cutcom_1>::= ADJUST, TL(<label>), <var_cutcom_2>, <plan>, <real> |PARAM, <point>, <point> |MATRIX, <point>, <point>, <point>, <point> |USERDF, <text_string> <var_cutcom_2>::= LEFT |RIGHT /*----------------------------------------------------------------------*/ /* MFGDEV is LR(1) */ /*----------------------------------------------------------------------*/ <mfgdev_def>::= MD(<label>)=MFGDEV/<text_string> /*----------------------------------------------------------------------*/ /* TOOLDF is LR(1) */ /*----------------------------------------------------------------------*/ <tooldf_def>::= TL(<label>)=TOOLDF/MD(<label>), <text_string> /*----------------------------------------------------------------------*/ /* 11.2 QIS STATEMENTS */ /*----------------------------------------------------------------------*/ /* The following 15 statements are LR(1) Input <> Output */ /*----------------------------------------------------------------------*/ <clmpid_def>::= CI(<label>)=CLMPID/<text_string> <clmpsn_def>::= CS(<label>)=CLMPSN/<text_string> <dmeid_def>::= DI(<label>)=DMEID/<text_string> <dmeswi_def>::= DS(<label>)=DMESWI/<text_string> <dmeswv_def>::= DV(<label>)=DMESWV/<text_string> <fixtid_def>::= FI(<label>)=FIXTID/<text_string> <fixtsn_def>::= FS(<label>)=FIXTSN/<text_string> <lotid_def>::= LI(<label>)=LOTID/<text_string> <operid_def>::= OP(<label>)=OPERID/<text_string> <partid_def>::= PN(<label>)=PARTID/<text_string> <partrv_def>::= PR(<label>)=PARTRV/<text_string> <partsn_def>::= PS(<label>)=PARTSN/<text_string> <planid_def>::= PL(<label>)=PLANID/<text_string> <prevop_def>::= PV(<label>)=PREVOP/<text_string> <procid_def>::= PC(<label>)=PROCID/<text_string> /*----------------------------------------------------------------------*/ /* 12.0 INPUT/OUTPUT STATEMENTS */ /*----------------------------------------------------------------------*/ /* CLOSE is LR(1) */ /*----------------------------------------------------------------------*/ <close>::= CLOSE/DID(<label>), <var_close_1> <var_close_1>::= /* leer */ |KEEP |DELETE /*----------------------------------------------------------------------*/ /* DEVICE is LR(1) */ /*----------------------------------------------------------------------*/ <device_def>::= DID(<label>)=DEVICE/<devices>, <text_string> /*----------------------------------------------------------------------*/ /* DISPLY is LR(1) */ /*----------------------------------------------------------------------*/ <disply>::= DISPLY/<var_disply_1> <var_disply_1>::= [<devices>, <var_disply_2>...] <devices>,<var_disply_3> |OFF <var_disply_2>::= DMIS, [V(<label>),] |V(<label>) , <var_disply_3>::= DMIS [,V(<label>)] |V(<label>) /*----------------------------------------------------------------------*/ /* EVAL is LR(1) */ /*----------------------------------------------------------------------*/ <eval>::= EVAL/<var_eval_1> <var_eval_1>::= FA(<label>), [T(<label>)] |FA(<label>), FA(<label>), T(<label>) /*----------------------------------------------------------------------*/ /* OPEN is LR(1) */ /*----------------------------------------------------------------------*/ <open>::= OPEN/DID(<label>)[,<var_open_1>] <var_open_1>::= DIRECT, <var_open_3> |FDATA, <var_open_2>, <var_open_3> |SNS |PCS <var_open_2>::= V(<label>) |DMIS <var_open_3>::= INPUT |OUTPUT [,<var_open_4>] <var_open_4>::= APPEND |OVERWR /*----------------------------------------------------------------------*/ /* OUTPUT is LR(1) */ /*----------------------------------------------------------------------*/ <output>::= OUTPUT/<var_output_1> <var_output_1>::= FA(<label>) <var_output_2> |F(<label>) <var_output_3> |R(<label>) |SA(<label>) <var_output_2>::= [,TA(<label>)...][,R(<label>)] |FA(<label>), TA(<label>) [,R(<label>)] <var_output_3>::= [,T(<label>)...][,R(<label>)] |F(<label>), T(<label>) [,R(<label>)] /*----------------------------------------------------------------------*/ /* PSTHRU is LR(1) */ /*----------------------------------------------------------------------*/ <psthru>::= PSTHRU/<var_psthru_1> <var_psthru_1>::= COMAND, <text_string> |CONTIN |PAUSE |START |STOP |TRMATX,<real>,<real>,<real>,<real>,<real>,<real>,<real>,<real>, <real>,<real>,<real>,<real> /*----------------------------------------------------------------------*/ /* PTBUFF is LR(1) */ /*----------------------------------------------------------------------*/ <ptbuff>::= PTBUFF/<on_off> /*----------------------------------------------------------------------*/ /* READ is LR(1) */ /*----------------------------------------------------------------------*/ <read>::= READ/DID(<label>), <var_read_1> [,<var_read_1>...] <var_read_1>::= <varname>:<integer>:<integer> |<varname>:<integer> |<varname> /*----------------------------------------------------------------------*/ /* REPORT is LR(1) */ /*----------------------------------------------------------------------*/ <report_def>::= R(<label>)=REPORT/<var_report_1> [,<var_report_1>...] <var_report_1>::= DATE |TIME |TEMPF |TEMPC |HUMID |ALGOR |MODE |CC(<label>) |CI(<label>) |CS(<label>) |DI(<label>) |DS(<label>) |DV(<label>) |FI(<label>) |FS(<label>) |LI(<label>) |MD(<label>) |OP(<label>) |PC(<label>) |PN(<label>) |PR(<label>) |PS(<label>) |PL(<label>) |PV(<label>) |TL(<label>) /*----------------------------------------------------------------------*/ /* TEXT is LR(1) */ /*----------------------------------------------------------------------*/ <text>::= TEXT/<var_text_1>, <text_string> <var_text_1>::= MAN |OPER |OUTFIL |QUERY, (<label>), <integer>, <var_text_2>, <var_text_3> <var_text_2>::= A |N |AN <var_text_3>::= L |R /*----------------------------------------------------------------------*/ /* VFORM is LR(1) */ /*----------------------------------------------------------------------*/ <vform_def>::= V(<label>)=VFORM/<var_vform_1>[, <var_vform_1>...] <var_vform_1>::= NOM |ACT |DEV |AMT |HIST |PLOT |STAT |ALL /*----------------------------------------------------------------------*/ /* WRITE is LR(1) */ /*----------------------------------------------------------------------*/ <write>::= WRITE/DID(<label>) <var_write_1> [,<var_write_1>...] <var_write_1>::= <varname>:<integer>:<integer> |<varname>:<integer> |<varname> |<text_string> /*----------------------------------------------------------------------*/ /* 13.0 MISCELLANEOUS STATEMENTS */ /*----------------------------------------------------------------------*/ /* DMEHW is LR(1) */ /*----------------------------------------------------------------------*/ <dmehw>::= DMEHW/<var_dmehw> <var_dmehw>::= CONTIN |PAUSE |SINGLE |AUTO /*----------------------------------------------------------------------*/ /* DMESW is LR(1) */ /*----------------------------------------------------------------------*/ <dmesw>::= DMESW/<var_dmesw> <var_dmesw>::= COMAND, <text_string> |CONTIN |PAUSE /*----------------------------------------------------------------------*/ /* DMIS is LR(1) */ /*----------------------------------------------------------------------*/ <dmis>::= DMIS/<on_off> /*======================================================================*/




Logo HTML Write

WebMaster : Ing. Rusconi Sergio
E-mail : serusco@tin.it
Home Page : space.tin.it/scienza/srusco


Pagine ottimizzate per Explorer 5 con risoluzione video 1024 x 768
Ultima revisione 20/12/99