public void TestParseIf() { var lexer = new Mq4Lexer(); var resultTokens = lexer.BuildTextTokens(ScriptUtils.CodeWithIfs); var parser = new Mq4Parser(); var astTree = parser.Parse(resultTokens); Assert.IsTrue(astTree.Children.Count == 1); }
public void TestParseGetMargin() { var lexer = new Mq4Lexer(); var resultTokens = lexer.BuildTextTokens(ScriptUtils.GetMarginFunctionWithComplexComments); var parser = new Mq4Parser(); var astTree = parser.Parse(resultTokens); Assert.IsTrue(astTree.Children.Count == 1); }
public void TestMethod1() { var lexer = new Mq4Lexer(); var resultTokens = lexer.BuildTextTokens(ScriptUtils.ComplexCode); var parser = new Mq4Parser(); var astTree = parser.Parse(resultTokens); Assert.IsTrue(astTree.Children.Count == 8); }
public static void GenerateCode() { var lexer = new Mq4Lexer(); var resultTokens = lexer.BuildTextTokens(ScriptUtils.ComplexCode); var parser = new Mq4Parser(); var astTree = parser.Parse(resultTokens); var semantic = new SemanticAnalysis(astTree); semantic.Perform(); var codeGenerator = new CsCodeGenerator(); codeGenerator.GenerateCodeForNode(astTree.Children[0]); }