readparameters.l
Go to the documentation of this file.
1 %{
2 /*
3 * Lexical analizer for parameter files
4 */
5 
8 #include <stdlib.h>
9 #include <string.h>
10 
11 #include "defines.h"
12 #include "readparameters.tab.h"
13 
14 int ReadParameterslex(void);
15 
16 extern unsigned int RPNline; /*current line number (declared in the YACC module and updated here)*/
17 
20 %}
21 
22 %s IN_COMMENT
23 
24 EMPTY [ \t]+
25 RETURN \n
26 DIGIT [0-9]
27 LETTER [a-zA-Z]
28 R_NUMBER (({DIGIT}+(\.{DIGIT}+)?)|(\.{DIGIT}+))((E|e)[+-]?{DIGIT}+)?
29 I_NUMBER {DIGIT}+
30 IDENTIFIER {LETTER}({DIGIT}|{LETTER}|"_")*
31 COMMENT \%[^\n]*
32 COMMENT2 \#[^{\n|\{}]*
33 COMMENT3 \/\/[^{\n|\r\n|\{}]*
34 
35 %%
36 
37 {COMMENT} { }
38 {COMMENT2} { }
39 {COMMENT3} { }
40 
41 <INITIAL>{
42  "/*" BEGIN(IN_COMMENT);
43 }
44 <IN_COMMENT>{
45  "*/" BEGIN(INITIAL);
46  [^*\n]+ // eat comment in chunks
47  "*" // eat the lone star
48  \n RPNline++;
49 }
50 
51 {EMPTY} { }
52 
53 {RETURN} { RPNline++; }
54 
55 TRUE { return(_TRUE);}
56 FALSE { return(_FALSE);}
57 
58 OR { return(_OR); }
59 AND { return(_AND); }
60 NOT { return(_NOT); }
61 
62 PI { return(_PI);}
63 COS { return(_COS); }
64 SIN { return(_SIN); }
65 TAN { return(_TAN); }
66 EXP { return(_EXP); }
67 LOG { return(_LOG); }
68 SQRT { return(_SQRT); }
69 
70 LINKS { return(_LINKS); }
71 FLINKS { return(_FLINKS); }
72 QLINKS { return(_QLINKS); }
73 JOINTS { return(_JOINTS); }
74 
75 SOLID { return(_SOLID); }
76 VCOLLIDE { return(_VCOLLIDE); }
77 PQP { return(_PQP); }
78 FCL { return(_FCL); }
79 C_FCL { return(_C_FCL); }
80 BULLET { return(_BULLET); }
81 C_BULLET { return(_C_BULLET); }
82 RIGIDCLL { return(_RIGIDCLL); }
83 NONE { return(_NONE); }
84 
85 INF { return(_INF); }
86 
87 EPSILON { return(_EPSILON); }
88 
89 REPRESENTATION { return(_REPRESENTATION); }
90 
91 RHO { return(_RHO); }
92 
93 SIGMA { return(_SIGMA); }
94 SMALL_SIGMA { return(_SMALL_SIGMA); }
95 
96 R { return(_R); }
97 SR { return(_SR); }
98 E { return(_E); }
99 CE { return(_CE); }
100 DELTA { return(_DELTA); }
101 BETA { return(_BETA); }
102 
103 STATE_PERIOD { return(_STATE_PERIOD); }
104 
105 N_SOLUTIONS { return(_N_SOLUTIONS); }
106 MAX_NEWTON_ITERATIONS { return(_MAX_NEWTON_ITERATIONS); }
107 N_DOF { return(_N_DOF); }
108 GAMMA { return(_GAMMA); }
109 
110 DUMMIFY { return(_DUMMIFY); }
111 ERROR_SPLIT { return(_ERROR_SPLIT); }
112 SAFE_SIMPLEX { return(_SAFE_SIMPLEX); }
113 SIMPLIFICATION_LEVEL { return(_SIMPLIFICATION_LEVEL); }
114 LR2TM_Q { return(_LR2TM_Q); }
115 LR2TM_S { return(_LR2TM_S); }
116 
117 VDW_RATIO { return(_VDW_RATIO); }
118 
119 CUT_X { return(_CUT_X); }
120 CUT_Y { return(_CUT_Y); }
121 CUT_Z { return(_CUT_Z); }
122 COEF_TEMP { return(_COEF_TEMP); }
123 NFAIL_MAX { return(_NFAIL_MAX); }
124 
125 DETECT_BIFURCATIONS { return(_DETECT_BIFURCATIONS); }
126 
127 MAX_PLANNING_TIME { return(_MAX_PLANNING_TIME); }
128 MAX_PLANNING_ITERATIONS { return(_MAX_PLANNING_ITERATIONS); }
129 MAX_CHARTS { return(_MAX_CHARTS); }
130 MAX_NODES_RRT { return(_MAX_NODES_RRT); }
131 BI_RRT { return(_BI_RRT); }
132 RRT_GRAPH { return(_RRT_GRAPH); }
133 DYNAMIC_DOMAIN { return(_DYNAMIC_DOMAIN); }
134 CD_ENGINE { return(_CD_ENGINE); }
135 
136 TANGENT_SAMPLING { return(_TANGENT_SAMPLING); }
137 AMBIENT_SAMPLING { return(_AMBIENT_SAMPLING); }
138 KDTREE_SAMPLING { return(_KDTREE_SAMPLING); }
139 
140 SAMPLING { return(_SAMPLING); }
141 
142 {I_NUMBER} {
143  char string_tmp[100];
144 
145  memcpy(string_tmp,ReadParameterstext,(unsigned int)ReadParametersleng);
146  string_tmp[ReadParametersleng]=0;
147  ReadParameterslval.intValue=atoi(string_tmp);
148  return(_INTEGER);
149  }
150 
151 {R_NUMBER} {
152  char string_tmp[100];
153 
154  memcpy(string_tmp,ReadParameterstext,(unsigned int)ReadParametersleng);
155  string_tmp[ReadParametersleng]=0;
156  ReadParameterslval.realValue=atof(string_tmp);
157 
158  return(_REAL);
159  }
160 
161 . { return(ReadParameterstext[0]); }
162 
163 %%
164 
173 int ReadParameterswrap()
174 {
175  return(1);
176 }
177 
#define PQP
One of the possible collison detection engines.
Definition: parameters.h:87
#define TANGENT_SAMPLING
One of the possible sampling modes.
Definition: parameters.h:174
#define FALSE
FALSE.
Definition: boolean.h:30
#define TRUE
TRUE.
Definition: boolean.h:21
#define RIGIDCLL
One of the possible collison detection engines.
Definition: parameters.h:132
#define FCL
One of the possible collison detection engines.
Definition: parameters.h:96
#define KDTREE_SAMPLING
One of the possible sampling modes.
Definition: parameters.h:162
Definitions of constants and macros used in several parts of the cuik library.
#define C_FCL
One of the possible collison detection engines.
Definition: parameters.h:105
#define VCOLLIDE
One of the possible collison detection engines.
Definition: parameters.h:78
#define AMBIENT_SAMPLING
One of the possible sampling modes.
Definition: parameters.h:151
#define C_BULLET
One of the possible collison detection engines.
Definition: parameters.h:123
#define INF
Infinite.
Definition: defines.h:70
unsigned int RPNline
Number of the line currently parsed when reading a .param file.
Definition: error.c:78
#define BULLET
One of the possible collison detection engines.
Definition: parameters.h:114
#define SOLID
One of the possible collison detection engines.
Definition: parameters.h:69