Код в коде

Разговоры на любые темы: вы можете обсудить здесь какой-либо сайт, найти единомышленников или просто пообщаться...
Хакер
Телепат
Телепат
Аватара пользователя
 
Сообщения: 16478
Зарегистрирован: 13.11.2005 (Вс) 2:43
Откуда: Казахстан, Петропавловск

Код в коде

Сообщение Хакер » 10.05.2010 (Пн) 16:36

А теперь, дорогие мои, я хочу чтобы вы напряглись и вспомнили все известные вам (а лучше — и неизвестные тоже) случаи, когда в исходном коде (с натяжкой) на одном языке встречается исходный код на другом языке.

Вот несколько примеров:
  • HTML-код может содержать в себе CSS-код:
    Код: Выделить всё
    <html>
        <head>
        </head>
        <body>
            foo
            <style attributes>
            <!--
             body { /* CSS code here */ }
             -->
            </style>
        </body>
    </html>
  • HTML-код может содержать в себе JS- или VBS-код.
  • C/C++ (да и паскалеподобные) код может содержать в себе Asm-код:
    Код: Выделить всё
    void foo()
    {
        // C code here
        __asm
        {
            xor eax, eax
            ; ASM code here
            lea edx, [ecx + eax*4 + 5]
        }
    }
  • Отдельной строкой: код на любом языке может содержать в себе строковую константу, содержащую код на другом языке. Например VB-код может содержать в себе SQL-код:
    Код: Выделить всё
    frmMain.DataFooBarer.DoSqlQuery "SELECT foo FROM bar WHERE ebru='kaya' ORDER BY abc DESC"

Примеры понятны? :)

Начинаем.
—We separate their smiling faces from the rest of their body, Captain.
—That's right! We decapitate them.

Twister
Теоретик
Теоретик
Аватара пользователя
 
Сообщения: 2251
Зарегистрирован: 28.06.2005 (Вт) 12:32
Откуда: Алматы

Re: Код в коде

Сообщение Twister » 10.05.2010 (Пн) 16:45

Если я приведу Delphi+Asm это засчитается? Ибо как подвид эта вставка уже выделена тобой.
А я все практикую лечение травами...

MIT
Мега гуру
Мега гуру
Аватара пользователя
 
Сообщения: 2211
Зарегистрирован: 17.09.2006 (Вс) 22:46

Re: Код в коде

Сообщение MIT » 10.05.2010 (Пн) 16:47

Код в PHP файле может быть на много чём: CSS, JS, HTML, XML, SQL запросы
Например:
Код: Выделить всё
<?
require('engine.php');
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="<?=LANG;?>" lang="<?=LANG;?>">
<head>
...
<!--[if lt IE 7.]>
<script defer type="text/javascript" src="<?=PATH_SCRIPT;?>js/pngfix.js"></script>
<![endif]-->

<script type="text/javascript" src="<?=PATH_SCRIPT;?>js/prototype.js"></script>
</head>
...
</body>
</html>
Изображение
You can change your face, but can`t change your mind. No matter what you do.
Создайте еще более понятный интерфейс и мир создаст еще более тупого юзера. (с) Баш

MIT
Мега гуру
Мега гуру
Аватара пользователя
 
Сообщения: 2211
Зарегистрирован: 17.09.2006 (Вс) 22:46

Re: Код в коде

Сообщение MIT » 10.05.2010 (Пн) 16:51

Аналогично для ASPX:
Код: Выделить всё
<%@ Page Language="C#" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<script runat="server">

protected void Page_Load(object sender, EventArgs e)

    {
        Label1.Text = DateTime.Now.ToLongTimeString();
    }

</script>

<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
    <title>Sample page</title>
</head>
<body>
    <form id="form1" runat="server">
    <div>
        The current time is: <asp:Label runat="server" id="Label1" />
    </div>
    </form>

</body>
</html>
Изображение
You can change your face, but can`t change your mind. No matter what you do.
Создайте еще более понятный интерфейс и мир создаст еще более тупого юзера. (с) Баш

jangle
Википедик
Википедик
Аватара пользователя
 
Сообщения: 3013
Зарегистрирован: 03.06.2005 (Пт) 12:02
Откуда: Нидерланды

Re: Код в коде

Сообщение jangle » 10.05.2010 (Пн) 16:53

Gentee в PowerBASIC

Код: Выделить всё
#Compile Exe
#Dim All
#Include "Win32Api.Inc"


Type sgeinit
       gSize   As Dword
       gflags  As Dword
       message As Dword
       gPrint  As Dword
       gExport As Dword

End Type


Type sbcode
     dat As Dword
     sze As Dword
     rsv As Byte
End Type


Declare Function ge_init  Lib "Gentee.dll" Alias "ge_init" (ByVal Struct As Dword) As Dword
Declare Function ge_load  Lib "Gentee.dll" Alias "ge_load" (ByVal bytecode As Dword, ByVal loadflag As Dword, ByVal args As Dword) As Dword
Declare Function ge_getid Lib "Gentee.dll" Alias "ge_getid" (ByVal gName As Dword) As Dword
Declare Function ge_call  CDecl  Lib "Gentee.dll" Alias "ge_call"  (ByVal id  As Dword, ByVal result As Dword, ByVal p1 As Dword, ByVal p2 As Dword,  ByVal p3 As Dword,  ByVal p4 As Dword ) As Dword
Declare Function ge_compile Lib "Gentee.dll" Alias "ge_compile" (ByVal  filename As Dword, ByVal fileout As Dword, ByVal sb As Dword, ByVal cflag As Dword, ByVal args As Dword) As Dword
Declare Function ge_deinit Lib "Gentee.dll" Alias "ge_deinit" (ByVal Hwnd As Dword) As Dword


Function MsgBoxPB(ByRef P As Asciiz * 255, ByRef P2 As Asciiz * 255) As Long
  Function= MsgBox (p,,p2)
End Function


Function InputBoxPB (ByRef TXT As Asciiz * 512) As String
Function=InputBox$(TXT)
End Function


Function exporttogentee  (ByRef nFunct As Asciiz * 255 ) As Dword

    Select Case As Const$ nFunct

    Case "MsgBoxPB"
         Function=CodePtr(MsgBoxPB)

    Case "InputBoxPB"
         Function=CodePtr( InputBoxPB)
    End Select


End Function

Function WinMain  ( ByVal  hInstance   As Dword, _
                    ByVal  hPrevInst   As Dword, _
                    ByVal  lpszCmdLine As Asciiz Ptr, _
                    ByVal  nCmdShow    As Long ) As Long

Dim ST As sgeinit
Dim Source As String
Dim cstr As String
Dim ByteCode As SBCODE
Dim BytecodePath As String
Dim Code As String


ST.gSize=20
ST.gflags=4
ST.message=CodePtr(exporttogentee)
ST.gExport=CodePtr(exporttogentee)

Call ge_init(VarPtr(ST))


Source =  "<Test> import """" {uint MsgBoxPB(uint, uint)" & $CrLf
Source = Source & "uint InputBoxPB(uint)} "  & $CrLf
Source = Source & "func start< main > {"  & $CrLf
Source = Source & "str txt" & $CrLf
Source = Source & "txt.copy(InputBoxPB(""Hello PB!"".ptr()))" & $CrLf
Source = Source & "MsgBoxPB (txt.ptr(),""Gentee"".ptr())"  & $CrLf
Source = Source & "}"


BytecodePath="bytecode.bin"

Call ge_compile (StrPtr(Source),StrPtr(BytecodePath), VarPtr(ByteCode),0,0)
Code=Peek$(ByteCode.dat,ByteCode.sze)


Call  ge_load (StrPtr(Code), 7, 0)
Call  ge_deinit(hInstance)

ExitProcess (0)

End Function

Хакер
Телепат
Телепат
Аватара пользователя
 
Сообщения: 16478
Зарегистрирован: 13.11.2005 (Вс) 2:43
Откуда: Казахстан, Петропавловск

Re: Код в коде

Сообщение Хакер » 10.05.2010 (Пн) 17:04

Если я приведу Delphi+Asm это засчитается? Ибо как подвид эта вставка уже выделена тобой.

Не считается, но пример не помешал бы.

Код в PHP файле может быть на много чём: CSS, JS, HTML, XML, SQL запросы

Нет.
SQL в PHP на тех же основаниях, что и приведённый мною последний примерный случай.
HTML или XHTML — не вложенный, а скорее «надложенный» код по отношению к PHP. JS и CSS внутри HTML или XHTML, а не непосредственно внутри PHP (кроме последнего примерного случая).

За ASPX спасибо.
—We separate their smiling faces from the rest of their body, Captain.
—That's right! We decapitate them.

Alec
Бывалый
Бывалый
 
Сообщения: 275
Зарегистрирован: 31.08.2008 (Вс) 0:15
Откуда: Ростов-на-Дону

Re: Код в коде

Сообщение Alec » 10.05.2010 (Пн) 18:50

А XML-литералы в VB.Net?

Код: Выделить всё
Dim libraryRequest As XDocument = _
    <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
    <?xml-stylesheet type="text/xsl" href="show_book.xsl"?>
    <!-- Tests that the application works. -->
    <books>
        <book/>
    </books>
Console.WriteLine(libraryRequest)
Иногда лучше вовремя остановиться...
И начать заново!

Хакер
Телепат
Телепат
Аватара пользователя
 
Сообщения: 16478
Зарегистрирован: 13.11.2005 (Вс) 2:43
Откуда: Казахстан, Петропавловск

Re: Код в коде

Сообщение Хакер » 10.05.2010 (Пн) 18:53

Ну, эм, пойдёт, только это конечно великая глупость.
—We separate their smiling faces from the rest of their body, Captain.
—That's right! We decapitate them.

FaKk2
El rebelde gur&#250;
El rebelde gur&#250;
Аватара пользователя
 
Сообщения: 2031
Зарегистрирован: 09.03.2003 (Вс) 22:10
Откуда: Los Angeles

Re: Код в коде

Сообщение FaKk2 » 10.05.2010 (Пн) 19:02

Alec писал(а):А XML-литералы в VB.Net?

Код: Выделить всё
Dim libraryRequest As XDocument = _
    <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
    <?xml-stylesheet type="text/xsl" href="show_book.xsl"?>
    <!-- Tests that the application works. -->
    <books>
        <book/>
    </books>
Console.WriteLine(libraryRequest)


Да, хмм... Увидев это в диком виде, я бы кинулся обрамлять это в кавычки :)
Для получения ответа надо продемонстрировать качества, позволяющие стать компетентным — внимательность, вдумчивость, наблюдательность, желание активно участвовать в выработке решения.

alibek
Большой Человек
Большой Человек
 
Сообщения: 14205
Зарегистрирован: 19.04.2002 (Пт) 11:40
Откуда: Russia

Re: Код в коде

Сообщение alibek » 10.05.2010 (Пн) 22:45

Шаблонизаторы разных степеней абстракции.
XSLT.
UML, с некоторой натяжкой.
Lasciate ogni speranza, voi ch'entrate.


Вернуться в Народный треп

Кто сейчас на конференции

Сейчас этот форум просматривают: Yandex-бот и гости: 38

    TopList