Advertisement
Guest User

Untitled

a guest
Jun 26th, 2017
65
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 10.73 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 Kyte
  8. {
  9. public class Variable
  10. {
  11. public object Value { get; set; }
  12. }
  13.  
  14. class KyteSynt
  15. {
  16.  
  17.  
  18.  
  19. Stack<object> Data = new Stack<object>();
  20.  
  21.  
  22.  
  23.  
  24.  
  25.  
  26. public void Run(string[] Line, string[] QuoteLine, int Mark)
  27. {
  28.  
  29.  
  30.  
  31.  
  32.  
  33. if (Line[0] == "CTITLE")
  34. {
  35.  
  36. try
  37. {
  38.  
  39.  
  40. Console.Title = Line[1];
  41.  
  42. }
  43.  
  44. catch
  45. {
  46.  
  47. Console.WriteLine("DERROR[1] failed to initate");
  48.  
  49. }
  50.  
  51.  
  52. }
  53. else if (Line[0] == "OUT")
  54. {
  55. // Out
  56. try
  57. {
  58. int length = Data.ReturnLength();
  59.  
  60.  
  61. for (int i = 1; i < Line.Length; i++)
  62. {
  63.  
  64. string keyy = Data.getKey(Line[i]);
  65. if (keyy == Line[i])
  66. {
  67.  
  68. Console.Write(Data.getItem(Line[i]));
  69.  
  70. }
  71. else
  72. {
  73.  
  74. Console.Write(QuoteLine[i] + " ");
  75.  
  76. }
  77.  
  78.  
  79.  
  80.  
  81.  
  82. }
  83.  
  84.  
  85. }
  86.  
  87. catch
  88. {
  89.  
  90.  
  91.  
  92. }
  93. }
  94. else if (Line[0] == "//")
  95. {
  96.  
  97.  
  98. }
  99. // OutLine
  100. else if (Line[0] == "OUTL")
  101. {
  102.  
  103. try
  104. {
  105.  
  106.  
  107. int length = Data.ReturnLength();
  108.  
  109.  
  110. for (int i = 1; i < Line.Length; i++)
  111. {
  112.  
  113. string keyy = Data.getKey(Line[i]);
  114. if (keyy != null)
  115. {
  116.  
  117. Console.Write(Data.getItem(Line[i]));
  118.  
  119. }
  120. else
  121. {
  122.  
  123. Console.Write(QuoteLine[i] + " ");
  124.  
  125. }
  126.  
  127.  
  128. }
  129. Console.WriteLine();
  130. }
  131.  
  132. catch
  133. {
  134.  
  135.  
  136.  
  137. }
  138. }
  139.  
  140. else if (Line[0] == "LET")
  141. {
  142.  
  143. try
  144. {
  145.  
  146. int blabla;
  147. bool blablab;
  148. bool res = int.TryParse(Line[2], out blabla);
  149. bool resb = bool.TryParse(Line[2], out blablab);
  150. if (res == true)
  151. {
  152. Data.setItem(Line[1], blabla);
  153. }
  154.  
  155. else if (resb == true)
  156. {
  157. Data.setItem(Line[1], blablab);
  158.  
  159. }
  160. else
  161.  
  162. {
  163.  
  164. Data.setItem(Line[1], Line[2]);
  165.  
  166. }
  167.  
  168. }
  169.  
  170. catch
  171. {
  172.  
  173. Console.WriteLine("FATAL ERROR FAILED TO INIT LET COMMAND");
  174.  
  175. }
  176. }
  177.  
  178.  
  179.  
  180.  
  181.  
  182.  
  183.  
  184.  
  185.  
  186.  
  187. // Unkown Command
  188. else
  189. {
  190. // Math
  191. if (Line.Length > 2)
  192. {
  193. if (Line[1] == "+=")
  194. {
  195.  
  196. string keyy1 = Data.getKey(Line[0]);
  197. string keyy2 = Data.getKey(Line[2]);
  198.  
  199. if (keyy2 == null && keyy1 != null)
  200.  
  201. {
  202.  
  203. int ktosum1 = Convert.ToInt32(Data.getItem(keyy1));
  204. int ktosum2 = Convert.ToInt32(Line[2]);
  205. int koutmath = ktosum1 + ktosum2;
  206. Data.setItem(Line[0], koutmath);
  207.  
  208. }
  209. else if (keyy2 != null && keyy1 == null)
  210. {
  211.  
  212. int ktosum1 = Convert.ToInt32(Line[0]);
  213. int ktosum2 = Convert.ToInt32(Data.getItem(keyy1));
  214. int koutmath = ktosum1 + ktosum2;
  215. Data.setItem(Line[2], koutmath);
  216.  
  217. } else if(keyy2 != null && keyy1 != null)
  218. {
  219.  
  220. int ktosum1 = Convert.ToInt32(Data.getItem(keyy1));
  221. int ktosum2 = Convert.ToInt32(Data.getItem(keyy2));
  222. int koutmath = ktosum1 + ktosum2;
  223. Data.setItem(Line[0], koutmath);
  224.  
  225. }
  226.  
  227. else
  228. {
  229.  
  230. int tosum1 = Convert.ToInt32(Line[0]);
  231. int tosum2 = Convert.ToInt32(Line[2]);
  232. int outmath = tosum1 + tosum2;
  233. Data.setItem(Line[1], outmath);
  234.  
  235. }
  236.  
  237.  
  238. }
  239. else if (Line[1] == "-=")
  240. {
  241.  
  242. string keyy1 = Data.getKey(Line[0]);
  243. string keyy2 = Data.getKey(Line[2]);
  244. if (keyy2 == null && keyy1 != null)
  245.  
  246. {
  247.  
  248. int ktosum1 = Convert.ToInt32(Data.getItem(keyy1));
  249. int ktosum2 = Convert.ToInt32(Line[2]);
  250. int koutmath = ktosum1 - ktosum2;
  251. Data.setItem(Line[0], koutmath);
  252.  
  253. }
  254. else if (keyy2 != null && keyy1 == null)
  255. {
  256.  
  257. int ktosum1 = Convert.ToInt32(Line[0]);
  258. int ktosum2 = Convert.ToInt32(Data.getItem(keyy1));
  259. int koutmath = ktosum1 - ktosum2;
  260. Data.setItem(Line[2], koutmath);
  261.  
  262. }
  263. else if (keyy2 != null && keyy1 != null)
  264. {
  265.  
  266. int ktosum1 = Convert.ToInt32(Data.getItem(keyy1));
  267. int ktosum2 = Convert.ToInt32(Data.getItem(keyy2));
  268. int koutmath = ktosum1 - ktosum2;
  269. Data.setItem(Line[0], koutmath);
  270.  
  271. }
  272.  
  273. else
  274. {
  275.  
  276. int tosum1 = Convert.ToInt32(Line[0]);
  277. int tosum2 = Convert.ToInt32(Line[2]);
  278. int outmath = tosum1 - tosum2;
  279. Data.setItem(Line[1], outmath);
  280.  
  281. }
  282.  
  283.  
  284. }
  285. else if (Line[1] == "*=")
  286. {
  287. string keyy1 = Data.getKey(Line[0]);
  288. string keyy2 = Data.getKey(Line[2]);
  289. if (keyy2 == null && keyy1 != null)
  290.  
  291. {
  292.  
  293. int ktosum1 = Convert.ToInt32(Data.getItem(keyy1));
  294. int ktosum2 = Convert.ToInt32(Line[2]);
  295. int koutmath = ktosum1 * ktosum2;
  296. Data.setItem(Line[0], koutmath);
  297.  
  298. }
  299. else if (keyy2 != null && keyy1 == null)
  300. {
  301.  
  302. int ktosum1 = Convert.ToInt32(Line[0]);
  303. int ktosum2 = Convert.ToInt32(Data.getItem(keyy1));
  304. int koutmath = ktosum1 * ktosum2;
  305. Data.setItem(Line[2], koutmath);
  306.  
  307. }
  308. else if (keyy2 != null && keyy1 != null)
  309. {
  310.  
  311. int ktosum1 = Convert.ToInt32(Data.getItem(keyy1));
  312. int ktosum2 = Convert.ToInt32(Data.getItem(keyy2));
  313. int koutmath = ktosum1 * ktosum2;
  314. Data.setItem(Line[0], koutmath);
  315.  
  316. }
  317.  
  318. else
  319. {
  320.  
  321. int tosum1 = Convert.ToInt32(Line[0]);
  322. int tosum2 = Convert.ToInt32(Line[2]);
  323. int outmath = tosum1 * tosum2;
  324. Data.setItem(Line[1], outmath);
  325.  
  326. }
  327.  
  328.  
  329. }
  330. if (Line[1] == "/=")
  331. {
  332. string keyy1 = Data.getKey(Line[0]);
  333. string keyy2 = Data.getKey(Line[2]);
  334. if (keyy2 == null && keyy1 != null)
  335.  
  336. {
  337.  
  338. int ktosum1 = Convert.ToInt32(Data.getItem(keyy1));
  339. int ktosum2 = Convert.ToInt32(Line[2]);
  340. int koutmath = ktosum1 / ktosum2;
  341. Data.setItem(Line[0], koutmath);
  342.  
  343. }
  344. else if (keyy2 != null && keyy1 == null)
  345. {
  346.  
  347. int ktosum1 = Convert.ToInt32(Line[0]);
  348. int ktosum2 = Convert.ToInt32(Data.getItem(keyy1));
  349. int koutmath = ktosum1 / ktosum2;
  350. Data.setItem(Line[2], koutmath);
  351.  
  352. }
  353. else if (keyy2 != null && keyy1 != null)
  354. {
  355.  
  356. int ktosum1 = Convert.ToInt32(Data.getItem(keyy1));
  357. int ktosum2 = Convert.ToInt32(Data.getItem(keyy2));
  358. int koutmath = ktosum1 / ktosum2;
  359. Data.setItem(Line[0], koutmath);
  360.  
  361. }
  362.  
  363. else
  364. {
  365.  
  366. int tosum1 = Convert.ToInt32(Line[0]);
  367. int tosum2 = Convert.ToInt32(Line[2]);
  368. int outmath = tosum1 / tosum2;
  369. Data.setItem(Line[1], outmath);
  370.  
  371. }
  372.  
  373.  
  374. }
  375. }
  376. else
  377. {
  378.  
  379.  
  380. if (Line[0] != "")
  381. {
  382.  
  383. Console.WriteLine("Line " + Mark + " FATAL ERROR, COMMAND UNKNOWN");
  384.  
  385. }
  386. }
  387.  
  388. }
  389.  
  390. }
  391.  
  392. }
  393. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement