88 / 86 / 55
Регистрация: 14.11.2015
Сообщений: 1,099
1

Лексическая трансляция

18.06.2017, 09:15. Показов 1058. Ответов 1
Метки нет (Все метки)

Читаю спеку, не могу понять выделенное.

Кликните здесь для просмотра всего текста
3.2 Lexical Translations
A raw Unicode character stream is translated into a sequence of tokens, using the
following three lexical translation steps, which are applied in turn:

1. A translation of Unicode escapes (§3.3) in the raw stream of Unicode characters
to the corresponding Unicode character. A Unicode escape of the form \uxxxx ,
where xxxx is a hexadecimal value, represents the UTF-16 code unit whose
encoding is xxxx. This translation step allows any program to be expressed
using only ASCII characters.


2. A translation of the Unicode stream resulting from step 1 into a stream of input
characters and line terminators (§3.4).

3. A translation of the stream of input characters and line terminators resulting
from step 2 into a sequence of input elements (§3.5) which, after white space
(§3.6) and comments (§3.7) are discarded, comprise the tokens (§3.5) that are
the terminal symbols of the syntactic grammar (§2.3).


Например, есть код
Java
1
2
3
4
5
6
public class Main {
    public static void main(String[] args) {
        char c = '\u1234';
        System.out.println(c);
    }
}
На шаге один, как я понимаю, \u1234 заменяется на соотвествующий символ. Но ведь этого символа(как и большинства других в юникоде) нет в ASCII.

Добавлено через 10 минут
Кажется, понял. Вся суть в том, что до этого перевода весь исходный код может написан на ascii, потому что все символы(\, u, цифры, буквы латинского алфавита) из возможной unicode последовательности там есть. Как я понимаю это позволяет избежать ситуации когда исходный код будет просматриваться откуда-то, где нет нужной кодировки, способной прочитать какой-то символ.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
18.06.2017, 09:15
Ответы с готовыми решениями:

Трансляция
Здравствуйте, помогите пожалуйста переписать данный код на язык C#. Они конечно похожи, но все...

трансляция ip
Доброго времени суток. жизнь поставила такую задачу: есть некий ресурс в локальной сети и к нему...

Трансляция с C# на С++
Здравствуйте. Прошу помощи: кто может транслировать этот проект с C# на С++ ? Немного о проекте: ...

Трансляция кода
Всем привет! Я переписываю программу на C#, и у меня не получилось преобразовать данный код: ...

1
33 / 33 / 20
Регистрация: 18.03.2016
Сообщений: 100
18.06.2017, 20:12 2
Верно. Если сохранить такой код в кодировке, которая могла бы исказить, то он не исказится и в итоге выдаст верный результат.
(Если разумеется не вызвать программу, где-то где применяется такая кодировка. Например, если вызвать программу в cmd, символ кириллицы всё-равно исказится)
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
18.06.2017, 20:12
Помогаю со студенческими работами здесь

Трансляция с видеокамер
Здравствуйте. У меня такой вопрос - как в html написать JavaScript? Есть html страница, на...

Трансляция в презентации
Такой вопрос. Можно ли в презентации транслировать камеры видео наблюдения? К примеру надо...

Трансляция сайта по WI-FI
Здравствуйте! У меня вопрос такого плана , возможно ли транслировать по WI-FI свой сайт? Допустим я...

Трансляция исключений
Дайте пожалуйста простенький пример, где я ловлю исключение и кидаю его через throw на еще один...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2023, CyberForum.ru