File tree Expand file tree Collapse file tree 4 files changed +101
-0
lines changed
Expand file tree Collapse file tree 4 files changed +101
-0
lines changed Original file line number Diff line number Diff line change 1+ "use strict" ;
2+
3+ function Parser ( ) {
4+
5+ }
6+
7+ Parser . prototype . parse = function ( code ) {
8+ var list = [ ] ;
9+ return list ;
10+ }
11+
12+ module . exports = Parser ;
Original file line number Diff line number Diff line change 1+ {
2+ "name" : " onec-syntaxparser" ,
3+ "version" : " 0.0.0" ,
4+ "description" : " Parser for 1C bsl language based on regexp" ,
5+ "main" : " index.js" ,
6+ "scripts" : {
7+ "test" : " mocha test"
8+ },
9+ "keywords" : [
10+ " bsl" ,
11+ " syntax" ,
12+ " 1C" ,
13+ " 1c"
14+ ],
15+ "author" :
" Shenja Sosna <[email protected] >" ,
16+ "license" : " MIT" ,
17+ "devDependencies" : {
18+ "mocha" : " ~2.4.5" ,
19+ "chai" : " ~3.5.0" ,
20+ "underscore" : " ~1.8.3"
21+ },
22+ "dependencies" : {
23+ "lokijs" : " ~1.3.15"
24+ }
25+ }
Original file line number Diff line number Diff line change 1+ //Стандартный простой комментарий.
2+ //
3+ Процедура ТестЭкспортФункция (Знач Параметры ) Экспорт
4+
5+ КонецПроцедуры
6+
7+ // Опсание процедуры с параметрами.
8+ // проверка описания подсказки к параметрам и проверка формирования документации по стандартным
9+ // параметрам к процедуре
10+ // Параметры:
11+ // ЗнакТабуляции - СправочниСсылка.Номенклатура - станартное описание, через два знака tab для описания параметра.
12+ // НоваяФичаТипаСруктуры - Структура - описание структуры опять таки ниже через + описываем ключи и их знаения.
13+ // + КлючСтруктуры - Строка - описание типа
14+ // + КлючБезТипа - тип не указываем, поэтому не знаем то считать это типом, то ли считать описанием.
15+ //
16+ // Возвращаемое значение:
17+ // Булево - Истина/Ложь - описание считаем после двух --, тогда только можно сказать что это описание.
18+ //
19+ &НаКлиенте
20+ Функция СложнаяФункцияСКучейПараметров (Знач ЗнакТабуляции , НоваяФичаТипаСруктуры ) Экспорт
21+ Перем КакаяТоПеременная ;
22+
23+ ТестЭкспортФункция(ЗнакТабуляции); //Проверка как определит что это локальный вызов.
24+ module.ТестЭкспортФункция(ЗнакТабуляции); //Определяем что это вызом экспортной процедуры из файла модуля.
25+
26+ Возврат Истина ;
27+ КонецФункции
Original file line number Diff line number Diff line change 1+ "use strict" ;
2+
3+ require ( "mocha" ) ;
4+ var expect = require ( "chai" ) . expect ;
5+ var fs = require ( "fs" ) ;
6+ var _ = require ( "underscore" ) ;
7+
8+ var Parser = require ( '../lib/parser' ) ;
9+
10+ var objectFixture = fs . readFileSync ( __dirname + '/fixtures/module.os' , 'utf-8' ) ;
11+
12+ describe ( "Parser" , function ( ) {
13+ var parser ;
14+
15+
16+ beforeEach ( function ( ) {
17+ parser = new Parser ;
18+
19+ } ) ;
20+
21+ describe ( 'Парсинг процедур и фнукций' , function ( ) {
22+ var list ;
23+ var names ;
24+
25+ beforeEach ( function ( ) {
26+ list = parser . parse ( objectFixture ) ;
27+ names = _ . pluck ( list , 'name' ) ;
28+
29+ } ) ;
30+
31+ it ( "Парсинг экспортной процедуры" , function ( ) {
32+ expect ( names ) . to . contain ( "ТестЭкспортФункция" ) ;
33+ } )
34+ } )
35+ }
36+ )
37+
You can’t perform that action at this time.
0 commit comments