В Java, что такое Parsing? Почему они используются?Что такое Parse/parsing?
Например: Integer.parseInt(...)
и синтаксический анализ строки?
В Java, что такое Parsing? Почему они используются?Что такое Parse/parsing?
Например: Integer.parseInt(...)
и синтаксический анализ строки?
компьютеры. для анализа (строка из символов), чтобы связать группы с синтаксическими единицами базовой грамматики .
Контекст определения - это перевод текста программы или языка в общем смысле на его составные части по отношению к определенной грамматике - превращение текста программы в код. Однако в контексте ключевого слова конкретного языка обычно это означает преобразование строкового значения фундаментального типа данных во внутреннее представление этого типа данных. Например, строка «10» становится номером (целое число). 10.
Анализ заключается в том, чтобы прочитать значение одного объекта, чтобы преобразовать его в другой тип. Например, у вас может быть строка со значением «10». Внутренне эта строка содержит символы Unicode '1' и '0', а не фактическое число 10. Метод Integer.parseInt принимает это строковое значение и возвращает реальное число.
String tenString = "10"
//This won't work since you can't add an integer and a string
Integer result = 20 + tenString;
//This will set result to 30
Integer result = 20 + Integer.parseInt(tenString);
Можно сказать, что разбор строки символов является анализирующих эту строку, чтобы найти маркеры, или элементы, а затем создать структуру из результата.
В вашем примере вызов Integer.parseInt
на строку разбор этой строки, чтобы найти целое число.
Так что, если у вас есть:
String someString = "123";
И тогда вы вызываете:
int i = Integer.parseInt(someString);
Вы говорите Java для анализа "123"
строку и найти целое число там.
Другой пример:
Одним из действий Java-компилятор делает, когда он компилирует исходный код является «разобрать» файл .java и создавать маркеры, которые соответствуют грамматику Java.
Если вы не смогли правильно написать исходный код (например, забудьте добавить ;
в конце инструкции), это синтаксический анализатор, который идентифицирует ошибку.
Вот еще информация: http://en.wikipedia.org/wiki/Parse
Интересно, почему самый высокий ответ не на вершине. – Faizan
@Faizan Что значит? Вы уверены, что [сортируете ответы по голосам] (http://stackoverflow.com/questions/787735/what-is-parse-parsing?answertab=votes#tab-top)? –
Согласны ли все с тем, что это правильное определение? – 2016-12-14 21:09:43
разборе деление текста к набору частей или жетонов.
-1 Извините, это очень трудно понять и не добавляет ничего, что не подпадает под другие ответы. Добро пожаловать в переполнение стека! –
+1. Хотя структура может быть лучше, (подавая редактирование), ваш ответ точным и освежающе кратким. –
Анализ - это просто процесс анализа строки символа и поиска маркеров из этой строки, а парсер - это компонент интерпретатора и компилятора. Он использует лексический анализ, а затем синтаксический анализ .Он анализирует его, а затем компилирует этот код после всего этого процесса компиляции.
Как ваш ответ дает что-то, что другие ответы не дали? –
Parsing означает, что мы анализируем объект конкретно. Например, когда мы вводим некоторые ключевые слова в поисковой системе, они анализируют ключевые слова и возвращают результаты, ища каждое слово. Таким образом, он в основном берет строку из файла и обрабатывает ее, чтобы извлечь нужную нам информацию.
Пример синтаксического анализа с использованием indexOf
, чтобы вычислить положение строки в другой строке:
String s="What a Beautiful day!";
int i=s.indexOf("day");//value of i would be 17
int j=s.indexOf("be");//value of j would be -1
int k=s.indexOf("ea");//value of k would be 8
paresInt
по существу преобразует String
к Integer
.
String s="9876543";
int a=new Integer(s);//uses constructor
System.out.println("Constructor method: " + a);
a=Integer.parseInt(s);//uses parseInt() method
System.out.println("parseInt() method: " + a);
Выход:
Constructor method: 9876543 parseInt() method: 9876543
Но что за "разобрать" в нем ??? – abhishah901
Синтаксический можно рассматривать как синоним «Ломая на мелкие кусочки», а затем анализируя то, что есть, или использовать его в измененном виде. В Java строки анализируются в десятичные, восьмеричные, двоичные, шестнадцатеричные и т. Д. Это делается, если ваше приложение принимает входные данные от пользователя в форме строки, но где-то в вашем приложении вы хотите использовать этот ввод в форме целое или двойное. Это не то же самое, что тип литья. Для литья типов используемые типы должны быть совместимы для касты, но ничего подобного при разборе.
Интересно, почему в вашем ответе содержится так меньше процентов. Спасибо за этот простой ответ +1 – Pihu
Ваш приветственный @Pihu –
«Анализ состоит в том, чтобы прочитать значение одного объекта, чтобы преобразовать его в другой тип». Ну, это только часть того, что такое парсинг. Анализ - это процесс принятия данных (текста) и определения его значения на основе набора правил. –
+1 для реализации. Также см. Http://stackoverflow.com/questions/1788796/what-is-parsing –