1

Тема: Розробка скрипту зі своїм власним синтаксисом (C++ чи С#)

Потрібно розробити скрипт зі своїм власним синтаксисом, та написати програму, яка буде виконувати введений користувачем код і виводити результат роботи.
Чи може хтось пояснити що і як потрібно зробити?

2

Re: Розробка скрипту зі своїм власним синтаксисом (C++ чи С#)

Потрібно розробити скрипт зі своїм власним синтаксисом,

Вам треба написати власну скриптову мову.

3

Re: Розробка скрипту зі своїм власним синтаксисом (C++ чи С#)

Вадим написав:

що і як потрібно зробити?

Взяти Луа.

4

Re: Розробка скрипту зі своїм власним синтаксисом (C++ чи С#)

Раджу почитати оце - http://www.codeproject.com/Articles/345 … JavaScript

5

Re: Розробка скрипту зі своїм власним синтаксисом (C++ чи С#)

граматика  в формі  Бекуса-Наура,   старі  добрі  lex та yacc  і  буде  вам  щастя

Подякували: 0x9111A1

6 Востаннє редагувалося VTrim (10.10.2014 21:06:22)

Re: Розробка скрипту зі своїм власним синтаксисом (C++ чи С#)

Можна наступний варіант.
То на прикладі того,що мені приходилось робити на php).

Створимо власний файл з псевдосинтаксисом (хай це буде program.phex)

Var:: vitalik = 'admin';  //змінна vitalik = admin
View:: Var:: vitalik;  //виводимо цю змінну на екран

if(Var:: vitalik == 'admin')  //якщо змінна vitalik = 'admin',то
{ 
View:: 'TRUE'; //виводимо на екран напис TRUE

for(Var:: i=0; Var:: i<=10; Var:: i++) //цикл
{ 
View:: Var:: i; //виводимо змінну i з кожною ітерацією
} 

} //закриваємо умову

Збережемо файлик в папку PHPprojects

Є головний файл запуску index.php (він переробить псевдокод в робочий)

<?php 
$EXE = file_get_contents('PHPproject/program.phex'); //шлях  до program.phex (файл з новим синтаксисом),тут витягуємо його вміст 
$EXE = str_replace('View:: ','echo ',$EXE); // заміна оператора виводу
$EXE = str_replace('Var:: ','$',$EXE); // заміна знаку змінної
echo $EXE; //тест виводу обробленого PHP коду 
file_put_contents('PHPproject/vtrim.php','<?php '.$EXE); //пишемо в файл оброблений звичайний php код

Після запуску index.php отримаємо звичайний php код в файлі vtrim.php,

<?php  
$vitalik = 'admin'; 
echo $vitalik; 

if($vitalik == 'admin') 
{ 
echo 'TRUE'; 

for($i=0; $i<=10; $i++) 
{ 
echo $i; 
} 

}

який просто запуститься на PHP. То ваше завдання зробити те саме,тільки для компіляції в С++

Чим не нова мова програмування?:D ліл