Программирование и скрипты

Информация о пользователе

Привет, Гость! Войдите или зарегистрируйтесь.


Вы здесь » Программирование и скрипты » Тестовый форум » Тестовое сообщение


Тестовое сообщение

Сообщений 1 страница 12 из 12

1

Благодарим за выбор нашего сервиса!

0

2

Код:
Это пример кода

0

3

Код:
#include <stdio.h>	
#include "library.h"	
#include <time.h>	
#include <string.h>
int main() 
{ 	int a=0;
	a = ++a;
    printf( "a= %i",a );
   
   getchar();
    return 0; 
}

0

4

Код:
 
#вставка    "library.h" 
#вставка    "main.rh" 
#вставка    "textbuffer.rh" 
#вставка    "lexer.rh" 
#вставка    "code1251.rh" 
#вставка 	<locale.h> //Во избежание "крокозяблей" на выводе
#вставка 	<stdio.h> //Стандартный однобайтовый ввод-вывод
#вставка 	<wchar.h> //"Широкие" многобайтовые символы и их ввод-вывод
#вставка 	<wctype.h> //"Классификация" широких символов
#вставка 	"time.h" 



// при подключении файлов из других папок будьте внимательны с путями,
// так как перед компиляцией С/С++ файлы будут находится в папке .src/
 
/*******************************************************************
	Пример совместного использования в проекте файлов на "русском" С/С++
	и на стандартном. В папке src_rus лежат исходники на русском
	в src_c исходники на стандартном С/С++

********************************************************************/
/*

тип структура{

     б8  *текст;
     ц8  *имя_файла;
    ц32   длина_текста;	
    ц32   флаг_сообщений;    
}  ТБуфер;
*/

// моя программа - единственный идентификатор в котором разрешен пробел
цел моя программа ()
{
    
	setlocale(LC_ALL, "");
	
	//==============================================================
    // Загружаем исходный код из файла в буфер
    //==============================================================
	
	цел код_ошибки = 0;
	симв имя_файла [20] = "test.ru";
	исходник.имя_файла = имя_файла;
    код_ошибки = файл_в_буфер(&исходник).код;
	если(код_ошибки){
    	printf("Код ошибки %i \n", код_ошибки);
            вернуть 2;
    }
	
	//wchar_t *буфер;
	исходник.текст16 = (wchar_t *) malloc(исходник.длина_текста*2*4);
	код_ошибки = перекодировать_в_UTF16(&исходник);
	//	printf("Код ошибки %i \n", код_ошибки);
    //printf("Код ошибки %i \n", код_ошибки);
    
	ц64 время = clock();
	если (лексер ())
    вернуть 2; 
	время = (clock() - время);
	пчтф16(L"Лексер отработал успешно за %f с \n",  (плав) время/CLOCKS_PER_SEC);
     
	wprintf(L"моя программа \n");
	//printf("моя программа");
	
	распечатать_все_токены();
	//пчтф16(L"\n Содержимое исходного файла:\n");
	//wprintf(исходник.текст16);

	вернуть 0; 
}

0

5

Код:
// Задачи
// 1 Обработка комментариев            (V)
// 2 Обработка строковых и символьных литералов	(V) 
// 2 Обработка строковых и символьных литералов	(V)
// 3 Проверка корректности расстановки скобок	(V)
// 4 Включение конца строки в качестве токена	(V)
// 5 Обработка логических и битовых операций	(V)
// 6 Комментарии с меткой
// 7 Поддержка кодировок            (V)
// 8 Ключевые словаре            	(V)
// 9 Встроенные типы            	
// 10 Сохранение в токене номера позиции            	
// 11 Функция вычисления номера строки по     (V)
//    номеру позиции            	
 
// 20 Синтаксический анализатор            
// 21 Расширенные сообщения об ошибках    	(V)        
 
#define    rUs_REALIZACIJA
#include     "lexer.h"
#include	"ASTtree.h"
//закомментировать если пробелы не допустимы
#define rUs_RAZRESHITJH_PROBELIH_V_IDENTIFIKATORAKH
 
wchar_t *rUs_stroka_oshibok[10]={
L"недопустимый символ",
L"",
L"недопустимый символ в числе",
L"недопустимый символ в идентификаторе",
L"не найдена завершающая скобка",
L"не найдена открывающая скобка",
L"не найден символ начала комментария",
L"не найден символ завершения комментария",
L"неизвестная ошибка при парсинге",
 
};
long int rUs_kolichestvo_tokenov;
int 	rUs_nomer_stroki = 0;
int     rUs_pozicija = 0;
wchar_t *rUs_vkhodnaja_stroka;
wchar_t rUs_stroka_leksem [8000000L];
//AST -дерево
extern rUs_TASD rUs_derevo;
//=========================================
//Переопределен массив токенов
//Токены грузятся прямиком в дерево
//=========================================    
rUs_Tuzel *rUs_massiv_tokenov;
//wchar_t *массив_лексем [8000000L];
// стек для хранения последовательности открытых скобок
rUs_TStek rUs_stek_skobok;
#define    rUs_KRUGLAJA_SKOBKA 1
#define    rUs_KVADRATNAJA_SKOBKA 2
#define    rUs_FIGURNAJA_SKOBKA 3
#define    rUs_KOMMENTARIY_1UROVNJA 4
/*
#макрос    КОММЕНТАРИЙ_2УРОВНЯ 5
#макрос    КОММЕНТАРИЙ_3УРОВНЯ 6
#макрос    КОММЕНТАРИЙ_4УРОВНЯ 7
#макрос    КОММЕНТАРИЙ_5УРОВНЯ 8
#макрос    КОММЕНТАРИЙ_6УРОВНЯ 9
#макрос    КОММЕНТАРИЙ_7УРОВНЯ 10
#макрос    КОММЕНТАРИЙ_8УРОВНЯ 11
*/
//===========================================================================
// Вспомогательная функция, подсчитывает количество разрядов в числе
//===========================================================================
int rUs_chislo_razrjadov(int rUs_chislo)
{
	if (rUs_chislo < 100000){
    if (rUs_chislo < 10000){
    	if (rUs_chislo < 1000){
        if (rUs_chislo < 100){
        	if (rUs_chislo < 10){
            return 1;
        	}
        	return 2;
        }
        return 3;
    	}
    	return 4;
    }
    return 5;
	}
	return 6;
}
 
//===========================================================================
// Функция подсчитывает номер строки по текущей позиции
//===========================================================================
int rUs_nomer_stroki1(wchar_t *rUs_vkhodnaja_stroka, int rUs_pozicija)
{
	wchar_t rUs_simvol = rUs_vkhodnaja_stroka [0];
	int rUs_indeks;
	int rUs_schetchik = 1;
	for(rUs_indeks = 0; rUs_indeks <= rUs_pozicija; rUs_indeks++){
    if(rUs_simvol == 0x0D)
    	++rUs_schetchik;
    rUs_simvol = rUs_vkhodnaja_stroka [rUs_indeks];
	}
	return rUs_schetchik;	
}

0

6

Код:
#include <stdio.h>

#define LOWER 0   /* нижняя граница таблицы */
#define UPPER 300 /* верхняя граница */
#define STEP 20   /* размер шага */

/* печать таблицы температур по Фаренгейту и Цельсию */
main()
{
    int fahr;
    for (fahr = LOWER; fahr <= UPPER; fahr = fahr + STEP)
        printf(“%3d %6.1f\n”, fahr, (5.0/9.0)*(fahr-32));
}
 

0

7

Код:
#если_нет 	VM_CORE_H
#макрос	  	VM_CORE_H	
//===========================================================
// 	Файл:    vm_core.rh
// 	Версия:    1.00
// 	Дата:    17.06.2022
//	Описание:	Описание внутреннего устройства виртуальной машины (ВМ)
//	Автор:
//===========================================================
#макрос РЕГИСТР_А регистры[0]
#макрос РЕГИСТР_Б регистры[1]
#макрос РЕГИСТР_В регистры[2]
#макрос РЕГИСТР_Г регистры[3]
#макрос РЕГИСТР_Д регистры[4]
#макрос РЕГИСТР_Е регистры[5]
#макрос РЕГИСТР_Ж регистры[6]
#макрос РЕГИСТР_З регистры[7]
#макрос РЕГИСТР_И регистры[8]
#макрос РЕГИСТР_К регистры[9]
#макрос РЕГИСТР_Л регистры[10]
#макрос РЕГИСТР_М регистры[11]
#макрос РЕГИСТР_Н регистры[12]
#макрос РЕГИСТР_О регистры[13]
#макрос РЕГИСТР_П регистры[14]
#макрос РЕГИСТР_Р регистры[15]

// Структура,описывающая виртуальную машину


тип  объединение{
	struct {
        б8 опкод;
        б8 режим;
        б8 пустой;
        беззнак рег_приемник: 4;
        беззнак рег_источник: 4;
    б32 адрес;
    }структура_команды;
	б64 данные;
}Tкоманда64;

структура ТВМ {
 	симв имя[10];
 	б64 регистры[16];
 	Tкоманда64 *регистр_команд;
	б64 *память;
 };

#к_если    //VM_CORE_H

0

8

Привет-привет

0

9

Это код на русифицированном С

0

10

Код:
/* Выделение кода в блоках, новая версия, 29.04.2017 © Alex_63 / updated 08.08.2020 © */

function select_text(c) {
  var d = window.getSelection || document.getSelection;
  if (d) {
    var a = d();
    if (a.selectAllChildren) {
      a.selectAllChildren(c);
    } else if (a.setBaseAndExtent) {
      a.setBaseAndExtent(c, 0, c, c.innerText.length - 1)
    } else {
      var b = document.createRange();
      b.selectNodeContents(c);
      a.removeAllRanges();
      a.addRange(b)
    }
  } else if (document.selection) {
    var b = document.body.createTextRange();
    b.moveToElementText(c);
    b.select()
  }
}

function expandCode(e) {
    var c = e.parentNode.nextSibling.querySelector('.scrollbox');
    if (c.style.maxHeight == 'none') {
    	c.style.maxHeight = '200px';
    	e.innerHTML = 'Показать';
    }
    else {
    	c.style.maxHeight = 'none';
    	e.innerHTML = 'Свернуть';
    }
	}

jQuery(document).ready(function () {
   //jQuery('.code-box .legend').each(function () {
        //var txt = jQuery(this).html();
//txt = txt +' <a href="javascript://" onclick="select_text($(this).parent().next().find(\'pre\').get(0));return!1">Выделить код</a>' + ' &middot; <a href="#" onclick="expandCode(this); return false;">Показать</a>'; 
///*        var c = jQuery(this).parentNode.querySelector('.scrollbox');
        //if (c.scrollHeight > c.offsetHeight + 1) {
        //txt = txt + ' &middot; <a href="#" onclick="expandCode(this); return false;">Показать</a>';
    //};
//*/    jQuery(this).html(txt);
    //});
//    $('.code-box').find('pre').wrapInner('<code class="russian"></code>').wrap('<div class = "coderu"></div>'); 
    $('.code-box').find('pre').wrapInner('<code class="prettyprint linenums"></code>').wrap('<div class = "codebox"></div>'); 
  
/*
jQuery('code.russian').each(function () {
        var txt = jQuery(this).html();
        txt = highlightC(txt);
        jQuery(this).html(txt);
    });   */ 
});

0

11

     
    #вставка    "library.h"
    #вставка    "main.rh"
    #вставка    "textbuffer.rh"
    #вставка    "lexer.rh"
    #вставка    "code1251.rh"
    #вставка <locale.h> //Во избежание "крокозяблей" на выводе
    #вставка <stdio.h> //Стандартный однобайтовый ввод-вывод
    #вставка <wchar.h> //"Широкие" многобайтовые символы и их ввод-вывод
    #вставка <wctype.h> //"Классификация" широких символов
    #вставка "time.h"
     
     
     
    // при подключении файлов из других папок будьте внимательны с путями,
    // так как перед компиляцией С/С++ файлы будут находится в папке .src/
     
    /*******************************************************************
    Пример совместного использования в проекте файлов на "русском" С/С++
    и на стандартном. В папке src_rus лежат исходники на русском
    в src_c исходники на стандартном С/С++
     
    ********************************************************************/
    /*
     
    тип структура{
     
         б8  *текст;
         ц8  *имя_файла;
        ц32   длина_текста;
        ц32   флаг_сообщений;   
    }  ТБуфер;
    */
     
    // моя программа - единственный идентификатор в котором разрешен пробел
    цел моя программа ()
    {
       
    setlocale(LC_ALL, "");
   
    //==============================================================
        // Загружаем исходный код из файла в буфер
        //==============================================================
   
    цел код_ошибки = 0;
    симв имя_файла [20] = "test.ru";
    исходник.имя_файла = имя_файла;
        код_ошибки = файл_в_буфер(&исходник).код;
    если(код_ошибки){
        printf("Код ошибки %i \n", код_ошибки);
                вернуть 2;
        }
   
    //wchar_t *буфер;
    исходник.текст16 = (wchar_t *) malloc(исходник.длина_текста*2*4);
    код_ошибки = перекодировать_в_UTF16(&исходник);
    // printf("Код ошибки %i \n", код_ошибки);
        //printf("Код ошибки %i \n", код_ошибки);
       
    ц64 время = clock();
    если (лексер ())
        вернуть 2;
    время = (clock() - время);
    пчтф16(L"Лексер отработал успешно за %f с \n",  (плав) время/CLOCKS_PER_SEC);
         
    wprintf(L"моя программа \n");
    //printf("моя программа");
   
    распечатать_все_токены();
    //пчтф16(L"\n Содержимое исходного файла:\n");
    //wprintf(исходник.текст16);
     
    вернуть 0;
    }

0

12

привет = 10

0


Вы здесь » Программирование и скрипты » Тестовый форум » Тестовое сообщение