iparser 1.1.4 → 1.1.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 9a12b304b0cfd0fc94f9043f03321648f95f2a60
4
- data.tar.gz: 48f5b42bf26ec9cc78ba8ec443085325693a9173
3
+ metadata.gz: 051ef5d38afe13cb8520bd3d614c7ed901162b36
4
+ data.tar.gz: 525de30addbade95e26236e7501a71065881b9ca
5
5
  SHA512:
6
- metadata.gz: c0d50e2ccdd4cc0393a302869fffe3d10ece69ffb828f761fda020c06bbf5edd56a8aa3ea0e57ca4b3079b077b38b38e9058451a59e4fa1e0e2c499b56692bbf
7
- data.tar.gz: 42e50dd5f5a159452909a9aeaf52428c203fac762872221d2a308fcd273bd7313ca4a00f855b9611784b6b3e9f91829607c855f74bec6ea710ae5ea45a8a9ff9
6
+ metadata.gz: d5060ec8998ed3ba971cb8f3471fba3a6a836d2fe14118323917371267090f6ead2363d9e357faee8d35266a94d0f397d255d5883d2d4969cfcd0a626fc1f794
7
+ data.tar.gz: 84b75688e07b04918b1d39e5f940e69e2b8b98fd8cc3183eb69f541f708d21d1a0c79ddc28904c0851b836ce254b2895e6fbf8682e4055f3d41a586db0dcd146
data/README.md CHANGED
@@ -83,15 +83,15 @@ Check each state.
83
83
  **NOTE**: Type `'\\'` for input `'\'`.
84
84
 
85
85
  Each state has the following templates:
86
- 1 __entry__ - used for set condition (template) to entry state.
87
- 2 __leave__ - used for set condition (template) to leave state (return to previous state).
88
- 3 __ignore__ - used for set symbols to ignoring.
86
+ 1. __entry__ - used for set condition (template) to entry state.
87
+ 2. __leave__ - used for set condition (template) to leave state (return to previous state).
88
+ 3. __ignore__ - used for set symbols to ignoring.
89
89
 
90
90
  After successfully check, you can add handler to each state.
91
91
  Each state has the following handlers:
92
- 1 __init__ - is state contructor (called when entry to state).
93
- 2 __fini__ - is state destructor (called when leave state).
94
- 3 __handler__ - is state handler (called every time, is still in state).
92
+ 1. __init__ - is state contructor (called when entry to state).
93
+ 2. __fini__ - is state destructor (called when leave state).
94
+ 3. __handler__ - is state handler (called every time, is still in state).
95
95
 
96
96
  Each handler can return the following values: __nil__ - nothing is done (method `.parse` return `true`)
97
97
  and __any__ values for break parsing (method `.parse` return `false`). For break parsing process you
@@ -250,9 +250,9 @@ After work, we should see a file named 'index.html'.
250
250
 
251
251
  Если все переходы работают как мы и ожидали, то можно перейти к написанию обработчиков наших состояний.
252
252
 
253
- Метод `doc_init` будет вызываться при входе в состояние, т.е. является конструктором состояния.
254
- Метод `doc_handler` будет вызываться каждый раз, до тех пор пока парсер находится в состоянии `comment-line` или `comment-block`.
255
- Метод `doc_fini` будет вызываться при выходе из состояния, т.е. является деструктором состояния.
253
+ * Метод `doc_init` будет вызываться при входе в состояние, т.е. является конструктором состояния.
254
+ * Метод `doc_handler` будет вызываться каждый раз, до тех пор пока парсер находится в состоянии `comment-line` или `comment-block`.
255
+ * Метод `doc_fini` будет вызываться при выходе из состояния, т.е. является деструктором состояния.
256
256
 
257
257
  Обработчики состояния должены возвращать следующие значения: __nil__ - говорит парсер-машине о том,
258
258
  что процесс разбора продолжается и метод `.parse` вернет `true` и любое отличное от __nil__ значение
@@ -283,6 +283,9 @@ end
283
283
 
284
284
  Details information for each patch.
285
285
 
286
+ ##### 1.1.5
287
+ * Add method `.current_state` for return name (String) of current state in parser-machine.
288
+
286
289
  ##### 1.1.4
287
290
  * Add method `.state_index` for return index of parser-state.
288
291
  * Add analyes result of any handler (init, fini, handler).
data/lib/iparser.rb CHANGED
@@ -109,6 +109,12 @@ module Iparser
109
109
  s.ileave = 0
110
110
  end
111
111
  end
112
+
113
+ # Return current state name.
114
+ def current_state ( )
115
+ return @chain.last.statename if @chain.size > 0
116
+ return nil
117
+ end
112
118
 
113
119
  # Initialize parser object,
114
120
  # should be called before call other methods.
@@ -1,3 +1,3 @@
1
1
  module Iparser
2
- VERSION = "1.1.4"
2
+ VERSION = "1.1.5"
3
3
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: iparser
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.1.4
4
+ version: 1.1.5
5
5
  platform: ruby
6
6
  authors:
7
7
  - gera-gas