Advertisement
Guest User

Untitled

a guest
Apr 24th, 2017
62
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 11.32 KB | None | 0 0
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using System.Text;
  5. using System.Threading.Tasks;
  6.  
  7. namespace HMcutword
  8. {
  9. class Program
  10. {
  11.  
  12. static void Main(string[] args)
  13. {
  14. //string label = "int123<float112.33tong&";
  15. //string label = "22int=float<==12.22uuu&";
  16. string label = "in123float&";
  17. int i = -1;
  18. char[] charArray = label.ToCharArray(0, label.Length);
  19. char c;
  20. string w = " ";
  21. string x = " ";
  22. L1: c = getchar(ref i, charArray);
  23. while (c != '$')
  24. {
  25. if (c == 'i') // ----------------------------int
  26. {
  27. w += c;
  28. c = getchar(ref i, charArray);
  29. if (c != 'n')
  30. {
  31. if (Isletter(c)) //letter
  32. {
  33. w += c;
  34. c = getchar(ref i, charArray);
  35. while (Isletter(c))
  36. {
  37. w += c;
  38. c = getchar(ref i, charArray);
  39. }
  40. Console.WriteLine(w);
  41. goto L1;
  42. }
  43. else if (Isdigit(c))
  44. {
  45. if (Isdigit(c)) //digit int_const or float_const
  46. {
  47. w += c;
  48. c = getchar(ref i, charArray);
  49. while (Isdigit(c))
  50. {
  51. w += c;
  52. c = getchar(ref i, charArray);
  53. }
  54. if (c != '.')
  55. {
  56. Console.WriteLine(w);
  57. w = x;
  58. Unchar(ref i, charArray);
  59. goto L1;
  60. }
  61. else
  62. {
  63. w += c;
  64. c = getchar(ref i, charArray);
  65. while (Isdigit(c))
  66. {
  67. w += c;
  68. c = getchar(ref i, charArray);
  69. }
  70. Console.WriteLine(w);
  71. w = x;
  72. Unchar(ref i, charArray);
  73. goto L1;
  74. }
  75. }
  76. goto L1;
  77. }
  78. }
  79. else
  80. {
  81. w += c;
  82. c = getchar(ref i, charArray);
  83. if (c != 't')
  84. {
  85. if (Isletter(c)) //letter
  86. {
  87. w += c;
  88. c = getchar(ref i, charArray);
  89. while (Isletter(c))
  90. {
  91. w += c;
  92. c = getchar(ref i, charArray);
  93. }
  94. Console.WriteLine(w);
  95. //Unchar(ref i, charArray);
  96. goto L1;
  97. }
  98. else if (Isdigit(c)) //digit int_const or float_const
  99. {
  100. w += c;
  101. c = getchar(ref i, charArray);
  102. while (Isdigit(c))
  103. {
  104. w += c;
  105. c = getchar(ref i, charArray);
  106. }
  107. if (c != '.')
  108. {
  109. Console.WriteLine(w);
  110. w = x;
  111. Unchar(ref i, charArray);
  112. goto L1;
  113. }
  114. else
  115. {
  116. w += c;
  117. c = getchar(ref i, charArray);
  118. while (Isdigit(c))
  119. {
  120. w += c;
  121. c = getchar(ref i, charArray);
  122. }
  123. Console.WriteLine(w);
  124. w = x;
  125. Unchar(ref i, charArray);
  126. goto L1;
  127. }
  128. }
  129. goto L1;
  130. }
  131.  
  132. else
  133. {
  134. w += c;
  135.  
  136. }
  137. }
  138.  
  139. Console.WriteLine(w);
  140. w = x;
  141. goto L1;
  142.  
  143. }
  144. else if (c == 'f') //-----------------------------float
  145. {
  146. w += c;
  147. c = getchar(ref i, charArray);
  148. if (c != 'l')
  149. {
  150. goto L1;
  151. }
  152. else
  153. {
  154. w += c;
  155. c = getchar(ref i, charArray);
  156. if (c != 'o')
  157. {
  158. goto L1;
  159. }
  160. else
  161. {
  162. w += c;
  163. c = getchar(ref i, charArray);
  164. if (c != 'a')
  165. {
  166. goto L1;
  167. }
  168. else
  169. {
  170. w += c;
  171. c = getchar(ref i, charArray);
  172. if (c != 't')
  173. {
  174. Unchar(ref i, charArray);
  175. goto L1;
  176. }
  177. else
  178. {
  179. w += c;
  180. //Console.WriteLine(w);
  181. }
  182. }
  183. }
  184. }
  185. Console.WriteLine(w);
  186. w = x;
  187. goto L1;
  188. }
  189. else if (c == '<') //-------------------------------<
  190. {
  191. w += c;
  192. Console.WriteLine(w);
  193. w = x;
  194. goto L1;
  195. }
  196. else if (c == '=') //-----------------------------= =
  197. {
  198. w += c;
  199. c = getchar(ref i, charArray);
  200.  
  201. if (c != '=')
  202. {
  203. Console.WriteLine(w);
  204. w = x;
  205. Unchar(ref i, charArray);
  206. goto L1;
  207. }
  208. else
  209. {
  210. w += c;
  211. Console.WriteLine(w);
  212. w = x;
  213. goto L1;
  214. }
  215. }
  216. else if (Isdigit(c)) //digit int_const or float_const
  217. {
  218. w += c;
  219. c = getchar(ref i, charArray);
  220. while (Isdigit(c))
  221. {
  222. w += c;
  223. c = getchar(ref i, charArray);
  224. }
  225. if (c != '.')
  226. {
  227. Console.WriteLine(w);
  228. w = x;
  229. Unchar(ref i, charArray);
  230. goto L1;
  231. }
  232. else
  233. {
  234. w += c;
  235. c = getchar(ref i, charArray);
  236. while (Isdigit(c))
  237. {
  238. w += c;
  239. c = getchar(ref i, charArray);
  240. }
  241. Console.WriteLine(w);
  242. w = x;
  243. Unchar(ref i, charArray);
  244. goto L1;
  245. }
  246. }
  247. else if (c == '"') // " " (String)
  248. {
  249. w += c;
  250. c = getchar(ref i, charArray);
  251. while ((Isdigit(c)) || (Isletter(c)) || (c == '<'))
  252. {
  253. w += c;
  254. c = getchar(ref i, charArray);
  255. }
  256. if (c == '"')
  257. {
  258. w += c;
  259. goto L1;
  260. }
  261. Console.WriteLine(w);
  262. }
  263. else if (Isletter(c)) //letter
  264. {
  265. w += c;
  266. c = getchar(ref i, charArray);
  267. while (Isletter(c))
  268. {
  269. w += c;
  270. c = getchar(ref i, charArray);
  271. }
  272. Console.WriteLine(w);
  273. Unchar(ref i, charArray);
  274. goto L1;
  275. }
  276. else
  277. {
  278. Console.WriteLine("Sentence end....");
  279. }
  280. Console.ReadLine();
  281. }
  282. //Console.WriteLine("");
  283.  
  284.  
  285. }
  286. public static char getchar(ref int i, char[] lebelArray)
  287. {
  288. i++;
  289. char c = lebelArray[i];
  290. return c;
  291. }
  292. public static char Unchar(ref int i, char[] labelArray)
  293. {
  294.  
  295. char c = labelArray[i];
  296. i--;
  297. return c;
  298. }
  299. public static bool Isletter(char c)
  300. {
  301. if ((c >= 'a') && (c <= 'z') || (c >= 'A') && (c <= 'Z'))
  302. {
  303. return true;
  304. }
  305. return false;
  306. }
  307. public static bool Isdigit(char c)
  308. {
  309. if ((c >= '0') && (c <= '9'))
  310. {
  311. return true;
  312. }
  313. return false;
  314. }
  315. }
  316. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement