|  20.08.2013, 21:11 | #1 | 
| Участник | daxmusings: XLNT - A Most "Excellent" Framework for X++ 
			
			Источник: https://community.dynamics.com/ax/b/...ork-for-x.aspx ============== Although demonstrated and praised quite a few times by Master Obi-Wan Villadsen and his team , the XLNT framework is still a little-known framework that contains a lot of power. So much so that the static...(read more) Источник: https://community.dynamics.com/ax/b/...ork-for-x.aspx 
				__________________ Расскажите о новых и интересных блогах по Microsoft Dynamics, напишите личное сообщение администратору. | 
|  | 
|  21.08.2013, 08:59 | #2 | 
| Участник | 
			
			э-э-э... может кто-нибудь разъяснит по-русски - что это? что за хуки в компилятор? (hook into the X++ compiler to get the parsed code and run analysis and diagnostics) | 
|  | 
|  21.08.2013, 09:21 | #3 | 
| Участник | 
			
			Никаких там хуков нету. Цепляються 2 ДЛЛ которые делают примерно тоже что и X++ компилятор (наверное потому хуком назвал он) - разбирает текст-код на составляющие части. Если код не компилируется возвращает null, насколько я понимаю. Тоесть почему оно там не компилируется оно тебе не скажет  Что с этим делать? Ну например лексическое сравнение кода (ссылка на английском и сщвсем не в тему аксапты). ЗЫ Парсер не без багов   
				__________________ AxAssist 2012 - Productivity Tool for Dynamics AX 2012/2009/4.0/3.0 | 
|  | |
| За это сообщение автора поблагодарили: mazzy (5). | |
|  21.08.2013, 09:34 | #4 | 
| Участник | |
|  | 
|  21.08.2013, 09:48 | #5 | 
| Участник | 
			
			Метод из темы: Код: Method method = multipassAdmin.CompileSingleMethod(sourceCode) as Method; Код: public abstract class MethodOrDelegate : CompilationUnit
{
    // Methods
    protected MethodOrDelegate();
    // Properties
    public AttributeList Attributes { get; internal set; }
    public IList<LocalDeclaration> Locals { get; internal set; }
    public string Name { get; internal set; }
    public IList<ParameterDeclaration> Parameters { get; internal set; }
    public IList<Statement> Statements { get; internal set; }
    public XppType Type { get; internal set; }
}IList<LocalDeclaration> Locals - локальные переменные в твоем кода. IList<ParameterDeclaration> Parameters - параметры. IList<Statement> Statements - структура кода в методе. Например один из Statements может быть IF - Код: public class IfStmt : Statement
{
    // Methods
    public IfStmt();
    public override string ToString(int indent);
    // Properties
    public Expression Condition { get; internal set; }
    public Statement Consequent { get; internal set; }
}
				__________________ AxAssist 2012 - Productivity Tool for Dynamics AX 2012/2009/4.0/3.0 | 
|  | |
| За это сообщение автора поблагодарили: mazzy (5). | |
|  21.08.2013, 10:45 | #6 | 
| Участник | Цитата: - в аксапте, начиная с 4 версии нет такого класса (раьше был ParserClass, а ScannerClass - лексер и макропрепроцессор - есть и в 6.x) XLNT написан на C# и дублирует парсер X++ написанный на C++ внутри аксапты (а никакой не хук). Используется в CodeUpgrade. Последний раз редактировалось belugin; 21.08.2013 в 10:48. | 
|  | |
| За это сообщение автора поблагодарили: mazzy (5). | |
|  | 
| Опции темы | Поиск в этой теме | 
| Опции просмотра | |
| 
 |