Информационные технологии
Unified Semantic Language (USL) был создан в результате обобщения различных подходов к описанию формальных семантик языков
программирования.
Основными конструкциями языка USL являются имена и выражения.
Язык C#-light является подмножеством языка C#, позволяющим писать последовательные программы. Он содержит все конструкции языка C# за исключением потоков, атрибутов, незащищенного кода, деструкторов, lock и resource операторов, а так же checked и unchecked блоков.
Описание операционной семантики языка C#-light требует задания абстрактной машины, что в свою очередь влечет необходимость
определения состояний абстрактной машины, а так же ее поведения. Каждое состояние задается в терминах языковой сущности и языкового
объекта.
Языковая сущность - это синтаксическая конструкция языка, например, переменная, оператор, описание класса и так далее. Языковая сущность задается типом и набором атрибутов. К примеру, сущность “описание класса” в языке C#-light имеет тип
class-declaration
и набор следующих атрибутов:
attribute-sections, modifiers, name, inherited-class,
implemented-interfaces, members.
Языковой объект является экземпляром языковой сущности, то есть конкретным описанием класса, переменной и так далее. Значения языковых объектов представляются в виде USL выражений вида:
<[name-type, t], [a1, e1], …, [an, en]>
где t это тип соответствующей языковой сущности,
a1, …, an
имена ее атрибутов, а
e1, …, en
соответствующие значения этих атрибутов.
Правила перевода синтаксических конструкций языка C#-light (языковых сущностей) в USL выражения задаются на основе синтаксиса языка C#, описанного в его спецификации.
Пример трансляции синтаксической конструкции C#-light в USL выражение:
описание локальной переменной
int i = 0;
транслируется в следующее USL выражение
<[name-type,
local-variable-declaration],
[type,
int],
[declarators,
[<[name-type,
local-variable-declarator],
[name,
i],
[initializer,
0]>]]>],
В рамках создаваемой системы верификации C#-light программ были разработаны:
Примечание. Тезисы докладов публикуются в авторской редакции
Ваши комментарии Обратная связь |
[Головная страница] [Конференции] |
© 1996-2000, Институт вычислительных технологий СО РАН, Новосибирск
© 1996-2000, Сибирское отделение Российской академии наук, Новосибирск