Что такое хороший инструмент для создания схем железной дороги? [закрытый]

Класс newObj является анонимным внутренним классом. Здесь вы определяете этот анонимный внутренний класс внутри фигурной скобки {}.

Анонимный внутренний класс может быть полезен при создании экземпляра объекта с некоторыми «дополнительными функциями», такими как методы перегрузки класса или интерфейса, без необходимости фактически создавать подкласс класса.

Кроме того, ссылка newObj относится не к экземпляру Object, а к экземпляру анонимного подкласса Object.

20
задан Kevin Brown 20 February 2015 в 01:45
поделиться

8 ответов

Похоже, они написали свой собственный скрипт для их генерации, как небольшой встроенный DSL в TCL. Возможно, вы сможете изменить назначение их сценария.

edit : Да, его довольно просто использовать, хотя, похоже, потребуется немного изменить его, чтобы сделать вывод более привлекательным (по какой-то причине, convert не может сгладить это в моей системе; вывод постскрипта выглядит неплохо).

alt text

hello {                                                                       
  line HELLO {or WORLD {line MY FRIEND {opt ANDREY}} }                      
}

edit 2 : Вот краткая статья о том, как это работает, а также некоторые заметки о как войти анонимно, чтобы просмотреть источник, если вы не видите его сразу.

31
ответ дан 29 November 2019 в 23:48
поделиться

Я не знаю каких-либо конкретных инструментов, но могу вам сказать, что их часто называют Рекурсивные сети перехода (RTN) . Таким образом, вы можете использовать это для расширения поиска.

Вы также можете получить ответ из списка рассылки SQLite и точно узнать, что они используют.

4
ответ дан 28 September 2019 в 01:41
поделиться

У меня возникла та же проблема, когда я начал использовать vim. Решение простое, вам просто нужно отредактировать файл синтаксиса c, используемый vim, вот как это сделать:

Когда вы начинаете редактировать файл C или C ++, vim читает файл синтаксиса c по умолчанию, расположенный в

$VIMRUNTIME/syntax/c.vim

( Где $ VIMRUNTIME - это то место, где вы установили vim. Вы можете узнать его значение по умолчанию, открыв vim и используя команду ": echo $ VIMRUNTIME").

Вы можете просто перезаписать этот файл или создать свой собственный синтаксис C файл (который будет загружен vim вместо файла по умолчанию) в этом месте:

$HOME/.vim/syntax/c.vim      (for UNIX)
$HOME/vimfiles/syntax/c.vim  (for PC or OS/2)

(я никогда не использовал Mac, поэтому я не знаю, какой из них будет работать для вас. Вы можете узнать больше в справке vim, ": помогите vimfiles " )

Теперь самое интересное. Скопируйте файл по умолчанию «$ VIMRUNTIME / syntax / c.vim» в каталог vimfiles («$ HOME / .vim / syntax / c.vim» для UNIX) и отредактируйте его, добавив следующие строки:

 «Highlight Class и имена функций
syn match cCustomParen "(" содержит = cParen, cCppParen
syn match cCustomFunc "\ w \ + \ s * (" содержит = cCustomParen
syn match cCustomScope "::"
син совпадение cCustomClass "\ w \ + \ s * ::" содержит = cCustomScope

привет def ссылка cCustomFunc функция
Привет def ссылка cCustomClass Функция

Вот и все! Теперь имена функций и классов будут выделены цветом, определенным в выделении «Function» («: hi Function»). Если вы хотите настроить цвета, вы можете изменить последние две строки выше на что-то вроде этого:

hi def cCustomFunc  gui=bold guifg=yellowgreen
hi def cCustomClass gui=reverse guifg=#00FF00

или вы можете оставить файл синтаксиса C в покое и определить цвета в вашем файле vimrc (": help vimrc"):

hi cCustomFunc  gui=bold guifg=yellowgreen
hi cCustomClass gui=reverse guifg=#00FF00

(Обратите внимание на отсутствие ключевого слова def, перейдите к «: help highlight-default» для подробной информации). Доступные параметры для команды ": hi" см. ": Help: highlight".

Вы можете найти полный файл c.vim для Vim 7.2 по этой ссылке (Примечание: используйте это, только если у вас есть неизмененные Vim, версия 7.2):

http://pastebin.com/f33aeab77

И обязательный скриншот:

-1
ответ дан 28 September 2019 в 01:41
поделиться

Если вы используете EBNF для своего синтаксиса, есть EBNF Визуализатор для этой цели.

Вы также можете попробовать Graphviz . Это открытый исходный код, и существует несколько инструментов для работы с ним. Это в основном полезно для общих графов, но может быть адаптировано и для синтаксических графов.

Также существует еще один бесплатный инструмент под названием SYNGEN .

5
ответ дан 29 November 2019 в 23:48
поделиться

Я думаю, что должна быть возможность определить график RTN на языке точек и затем сгенерировать его с помощью одного из инструментов с поддержкой точек .

3
ответ дан 29 November 2019 в 23:48
поделиться

Возможно, вам удастся сблизиться с RFFlow

1
ответ дан 29 November 2019 в 23:48
поделиться

Я использую OpenOffice Draw для многих моих потребностей в рисовании. Бесплатные, с открытым исходным кодом и мультиплатформенность являются большими вещами для меня. Он отлично справляется с блок-схемами с небольшой кривой обучения.

Я раньше пользовался SmartDraw и нашел его очень способным, но моя потребность в

0
ответ дан 29 November 2019 в 23:48
поделиться
Другие вопросы по тегам:

Похожие вопросы: