Приведение грамматики Ассемблера

Тема в разделе "WASM.ASSEMBLER", создана пользователем Freecod, 19 дек 2007.

  1. Freecod

    Freecod New Member

    Публикаций:
    0
    Регистрация:
    25 фев 2006
    Сообщения:
    136
    Вообще тут с теорией ЯП туго, но может кто-то встречал... В конуе концов такой язык как асм должны же были стандартизировать!
    Ищю приведение грамматики для языка ассемблер (масм, но это не суть важно)
    Выглядит это примерно так:

    Исходная грамматика G = (N, Т ,P,S):
    N={
    <программа> <секция описания данных> <описание данных> <список данных> <секция описания неинициализированных данных> <описание неинициализированных данных> <список неинициализированных данных > ...
    }

    Т={
    ( ) [ ] - + * \ , ; :
    .386 .486 .586 .686 include includelib PROTO dword word byte .data db dd dw dup .data? .code
    mov cmp je jne jmp push pop offset sizeof addr invoke call NULL ret local endp end ptr add sub xor or inc dec lea shl shr div mul ptr eax ecx edx ebx esp ebp ax cx dx bx al cl dl bl ah ch dh bh edi esi div mul ptr ...
    }

    P={
    1. <программа> -> < секция описания данных><секция описания неинициализированных данных> <секция команд><блок start>
    2. <секция описания данных> -> data<описание типов данных>|h
    3. <описание данных> -> <список данных>
    ...

    S={<программа>}

    Устранение недостижимых символов
    V0 = { <proc_type> }
    ...

    Или мне это первому млин приходится проделывать?
     
  2. Stiver

    Stiver Партизан дзена

    Публикаций:
    0
    Регистрация:
    18 дек 2004
    Сообщения:
    812
    Адрес:
    Germany
  3. Freecod

    Freecod New Member

    Публикаций:
    0
    Регистрация:
    25 фев 2006
    Сообщения:
    136
    БНФ пригодится, спасибо, но это уже пройденый этап. Нужны правила, составленные на основе БНФ.
     
  4. Stiver

    Stiver Партизан дзена

    Публикаций:
    0
    Регистрация:
    18 дек 2004
    Сообщения:
    812
    Адрес:
    Germany
    Freecod
    Как найдешь, отпишись здесь. На основе БНФ ничего нет, с нее парсер пишут.