public override void Init(AstContext context, ParseTreeNode parseNode) { base.Init(context, parseNode); foreach (var node in parseNode.ChildNodes) { if (node.AstNode is Function) { AddFunction(node.AstNode as Function); } else if (node.AstNode is AuxiliaryNode) { var ids = (node.AstNode as AuxiliaryNode).ChildNodes.OfType<IdentifierNode>(); foreach (var id in ids) { ExternalFunction ef = new ExternalFunction(); ef.SetSpan(id.Span); ef.Name = id.Symbol; AddFunction(ef); } } } AsString = "Refal-5 program"; }
public override void VisitExternalFunction(ExternalFunction function) { // do nothing }
public override void VisitExternalFunction(ExternalFunction function) { sb.AppendFormat("$EXTRN {0};\r\n", function.Name); }
public override void VisitExternalFunction(ExternalFunction function) { throw new NotImplementedException(); }
public abstract void VisitExternalFunction(ExternalFunction function);
public void AddExternalFunction(string name) { Function fun = new ExternalFunction(name); program.AddFunction(fun); }