Lex (software) (original) (raw)
Das Programm Lex wird im Übersetzerbau benutzt, um Scanner für die lexikalische Analyse von Quelltexten zu erstellen. Ein lexikalischer Scanner ist Teil eines Übersetzers. Lex wird oft genutzt in Kombination mit Yacc, der für die syntaktische Analyse zuständig ist. Lex wurde Mitte der 1970er Jahre an den Bell Labs von in C programmiert; die Regex-Behandlung stammte von Alfred V. Aho und Ken Thompson. Im Sommer 1976 wurde das Programm von dem damaligen Bell-Labs-Praktikanten Eric Schmidt neu implementiert.
Property | Value |
---|---|
dbo:abstract | Lex je v informatice program sloužící pro generování lexikálních analyzátorů. Často se využívá společně s generátorem syntaktických analyzátorů, programem yacc. Lex vytvořil Eric Schmidt a Mike Lesk. Je běžnou součástí mnoha unixových systémů a stal se součástí standardu POSIX. Přestože je Lex tradičně proprietární nástroj, existují verze založené na původním kódu od AT&T jako open source v rámci systémů OpenSolaris a Plan 9 from Bell Labs. Velmi populární open source variantou je program flex. Na vstupu čte Lex specifikaci lexikálního analyzátoru a na výstupu k němu poskytuje zdrojový kód v programovacím jazyce C. (cs) Στην επιστήμη υπολογιστών το lex είναι ένα πρόγραμμα που παράγει λεκτικούς αναλυτές ("scanners" ή "lexers"). Το lex συχνά χρησιμοποιείται μαζί με τη yacc. Αρχικά το lex γράφτηκε από τον Mike Lesk και τον Eric Schmidt, και αποτελεί την κλασική γεννήτρια παραγωγής λεκτικών αναλυτών σε πολλά συστήματα Unix, και ένα εργαλείο που έχει τη συμπεριφορά του περιλαμβάνεται στο πρότυπο POSIX. Το lex διαβάζει ένα ρεύμα εισόδου (input stream) που ορίζει το λεκτικό αναλυτή και παράγει πηγαίο κώδικα που υλοποιεί το λεκτικό αναλυτή στη γλώσσα προγραμματισμού C. Αν και παραδοσιακά αποτέλεσε κλειστό λογισμικό, είναι διαθέσιμες εκδόσεις ανοιχτού κώδικα του lex που βασίζονται στον αρχικό κώδικα της AT&T, σαν μέρος συστημάτων όπως το OpenSolaris και το . Μια άλλη δημοφιλής έκδοση ανοιχτού κώδικα του lex είναι το , ο "γρήγορος λεκτικός αναλυτής" ("fast lexical analyzer"). (el) Das Programm Lex wird im Übersetzerbau benutzt, um Scanner für die lexikalische Analyse von Quelltexten zu erstellen. Ein lexikalischer Scanner ist Teil eines Übersetzers. Lex wird oft genutzt in Kombination mit Yacc, der für die syntaktische Analyse zuständig ist. Lex wurde Mitte der 1970er Jahre an den Bell Labs von in C programmiert; die Regex-Behandlung stammte von Alfred V. Aho und Ken Thompson. Im Sommer 1976 wurde das Programm von dem damaligen Bell-Labs-Praktikanten Eric Schmidt neu implementiert. (de) Lex es un programa para generar analizadores léxicos (en inglés scanners o lexers). Lex se utiliza comúnmente con el programa yacc que se utiliza para generar análisis sintáctico. Lex, escrito originalmente por Eric Schmidt y , es el analizador léxico estándar en los sistemas Unix, y se incluye en el estándar de POSIX. Lex toma como entrada una especificación de analizador léxico y devuelve como salida el código fuente implementando el analizador léxico en C. Aunque tradicionalmente se trata de software propietario, existen versiones libres de lex basadas en el código original de AT&T en sistemas como OpenSolaris y Plan 9 de los laboratorios Bell. Otra versión popular de software libre de lex es . (es) Lex is a computer program that generates lexical analyzers ("scanners" or "lexers"). Lex is commonly used with the yacc parser generator. Lex, originally written by Mike Lesk and Eric Schmidt and described in 1975, is the standard lexical analyzer generator on many Unix systems, and an equivalent tool is specified as part of the POSIX standard. Lex reads an input stream specifying the lexical analyzer and writes source code which implements the lexical analyzer in the C programming language. In addition to C, some old versions of Lex could generate a lexer in Ratfor. (en) Lex est un outil de génération d'analyseurs lexicaux en langage C. Du point de vue de la classification des langages, Lex est capable de traiter des langages de type 3 (réguliers). Il a été originellement écrit par Mike Lesk et Eric Schmidt (devenu PDG, puis président exécutif du conseil d'administration de Google) et fut décrit en 1975. Il est fréquemment utilisé en association avec Yacc, générateur d'analyseur syntaxique. (fr) Lex(レック、レックス)は、1975年にエリック・シュミットとによって開発された、レキシカルアナライザ(字句解析プログラム、字句解析器)を生成するプログラムである。unixにおける標準のレキシカルアナライザとなっており、POSIX標準ともなっている。コンパイラの作成のためにパーサジェネレータのyaccとともに使用されることも多い。 (ja) Lex는 컴퓨터 과학 분야에서 구문 분석기인 Yacc와 같이 널리 쓰이는 어휘 분석기이다. Lex는 에릭 슈미트와 마이크 레스크가 만든 것으로, 대부분의 유닉스 시스템의 구문 분석 표준으로 사용되고 있고, 그 정의는 POSIX 표준에 명시되어 있다. Lex는 어휘 분석기를 읽어와서, Lexer를 만든 뒤 이를 C 언어로 만들어진 소스 코드의 형태로 출력한다. Lex는 저작권이 있는 소프트웨어로 시작했지만, AT&T의 소스 코드에 기반하는 버전은 오픈 소스 정책을 따라 오픈 솔라리스 등에서 사용된다. 이외에도 유명한 오픈 소스 버전의 Lex로는 빠른 Lex(Fast Lex)라는 의미의 flex가 존재한다. (ko) Lex is een computerprogramma voor het genereren van lexical analysers (of: scanners, lexers). Lex wordt meestal gebruikt in combinatie met de parsergenerator Yacc. De eerste versie van lex werd ontwikkeld door Eric Schmidt en Mike Lesk. Lex werd de standaard scanner-generator van het Unix-besturingssysteem, en is gestandaardiseerd als onderdeel van de POSIX-standaard. (nl) Lex – standardowy program w systemach uniksowych służący do tworzenia tzw. lekserów czyli programów przekształcających wejściowy strumień znaków na symbole (jednostki leksykalne). Program lex wyodrębnia symbole dopasowując ciąg wejściowy do wzorców określonych przez wyrażenia regularne. Z każdym ze wzorców można powiązać odpowiedni fragment programu napisany w języku C odpowiedzialny za wykonanie konkretnej akcji w przypadku odnalezienia symbolu. Obok oryginalnego programu lex napisanego przez Erica Schmidta i Mike'a Leska popularnością cieszy się wersja o nazwie flex. (pl) Lex är inom datalogi ett datorprogram som genererar programkod för lexikalanalys, en s.k. scanner eller lexer. Lex används ofta i samband med yacc, ett program som genererar programkod för en parser. Lex skrevs ursprungligen av Eric Schmidt och , och är standardverktyget för lexikalanalys på många Unix-system. Lex ingår i POSIX-standarden. Programmet läser en textfil (eller eg. en indataström via stdin) som innehåller en specifikation av vilka lexikala element som ska identifieras under analysen. Det genererade programmet är en implementation av denna lexikalanalys i programspråket C. Analysen bygger på att mönster i indata identifieras med hjälp av reguljära uttryck, varpå användardefinierade funktioner eller programkodavsnitt körs för varje identifierat mönster. Den genererade funktion som utför analysen är yylex. Vid publiceringen var programmet upphovsrättsskyddat, men idag finns versioner av lex som är baserade på den ursprungliga AT&T-koden tillgängliga som fri programvara, till exempel som del i OpenSolaris och Plan 9. En vanlig variant av lex är (fast lexical analyzer). (sv) Em ciência da computação (linguagens de programação), lex é um programa que gera analisadores léxicos. Ele é geralmente usado com o yacc, um gerador de analisador sintático. Escrito originalmente por Eric Schmidt e Mike Lesk, ele é o gerador de analisador léxico padrão em diversos sistemas Unix. O lex lê um fluxo de entrada especificando um analisador que mapeia expressões regulares em blocos de código, e retorna um código fonte implementando o analisador. Apesar do gerador ser genérico e poder se adequar a diferentes linguagens de programação, atualmente, somente a geração de código C é suportada. Apesar de ser software proprietário, versões do lex baseadas no código original da AT&T estão disponíveis em código aberto, como parte de sistemas como OpenSolaris e Plan 9. Outra versão popular e livre do lex é o . (pt) Lex — программа для генерации лексических анализаторов, обычно используемая совместно с генератором синтаксических анализаторов yacc. Lex был первоначально написан Эриком Шмидтом (Eric Schmidt) и Майком Леском (Mike Lesk) и является стандартным генератором лексических анализаторов в операционных системах Unix, а также включён в стандарт POSIX. Lex читает входной поток, описывающий лексический анализатор, и даёт на выходе исходный код на языке программирования Cи. (ru) 在電腦科學裡面,lex是一個產生詞法分析器(lexical analyzer,"掃描器"(scanners)或者"lexers")的程式。 Lex常常與yacc 語法分析器產生程式(parser generator)一起使用。Lex(最早是埃里克·施密特和迈克·莱斯克製作)是許多UNIX系統的標準詞法分析器(lexical analyzer)產生程式,而且這個工具所作的行為被詳列為POSIX標準的一部分。 Lex讀進一個代表詞法分析器規則的輸入字串流,然後輸出以C語言實做的詞法分析器原始碼。 雖然傳統上是商業軟體,但是有些根據原本AT&T程式碼這些版本的Lex可以以公開原始碼的形式獲得,並被視為某些系統的一部份,例如說OpenSolaris和貝爾實驗室九號計畫。另一個有名的Lex公開原始碼版本是flex,代表"快速的詞法分析器"(fast lexical analyzer) (zh) |
dbo:author | dbr:Eric_Schmidt dbr:Mike_Lesk |
dbo:computingPlatform | dbr:Cross-platform |
dbo:genre | dbr:Command_(computing) |
dbo:license | dbr:MIT_License |
dbo:operatingSystem | dbr:Unix dbr:Unix-like dbr:Plan_9_from_Bell_Labs |
dbo:programmingLanguage | dbr:C_(programming_language) |
dbo:wikiPageExternalLink | http://www.mactech.com/articles/mactech/Vol.16/16.07/UsingFlexandBison/ |
dbo:wikiPageID | 105985 (xsd:integer) |
dbo:wikiPageLength | 7773 (xsd:nonNegativeInteger) |
dbo:wikiPageRevisionID | 1114662355 (xsd:integer) |
dbo:wikiPageWikiLink | dbr:Scannerless_parsing dbc:Compiling_tools dbc:Unix_programming_tools dbr:Regular_expression dbr:Unix dbr:Unix-like dbr:Lexical_analysis dbr:Command_(computing) dbr:Compiler dbr:Cross-platform dbr:Make_(software) dbr:Stream_(computing) dbr:Comparison_of_parser_generators dbr:Computer_program dbr:C_(programming_language) dbr:Yacc dbc:Finite_automata dbr:Eric_Schmidt dbr:Flex_lexical_analyser dbr:PLY_(Python_Lex-Yacc) dbr:POSIX dbr:Formal_grammar dbr:Source_code dbr:Header_file dbc:Plan_9_commands dbc:Unix_SUS2008_utilities dbc:Lexical_analysis dbr:Plan_9_from_Bell_Labs dbr:Open-source_software dbr:OpenSolaris dbr:Ragel dbr:Ratfor dbr:GNU_bison dbr:MIT_License dbr:Macro_(computer_science) dbr:Mike_Lesk dbr:Statement_(programming) dbr:Parser_generator dbr:Finite_state_machine dbr:Function_(programming) |
dbp:author | dbr:Eric_Schmidt dbr:Mike_Lesk |
dbp:date | May 2012 (en) |
dbp:genre | dbr:Command_(computing) |
dbp:license | Plan 9: MIT License (en) |
dbp:name | Lex (en) |
dbp:operatingSystem | dbr:Unix dbr:Unix-like dbr:Plan_9_from_Bell_Labs |
dbp:platform | dbr:Cross-platform |
dbp:programmingLanguage | dbr:C_(programming_language) |
dbp:reason | mixes together grammars, regular expressions and FSMs into a confusing result (en) |
dbp:wikiPageUsesTemplate | dbt:Plan_9_commands dbt:Unix_commands dbt:Clarify dbt:Infobox_software dbt:Reflist dbt:Short_description dbt:Start_date_and_age dbt:Wikibooks dbt:Man |
dct:subject | dbc:Compiling_tools dbc:Unix_programming_tools dbc:Finite_automata dbc:Plan_9_commands dbc:Unix_SUS2008_utilities dbc:Lexical_analysis |
gold:hypernym | dbr:Program |
rdf:type | owl:Thing dbo:Software schema:CreativeWork dbo:Work wikidata:Q386724 wikidata:Q7397 yago:WikicatCompilingTools yago:WikicatParserGenerators yago:Apparatus102727825 yago:Artifact100021939 yago:Equipment103294048 yago:Generator103434188 yago:Implement103563967 yago:Instrumentality103575240 yago:Object100002684 yago:PhysicalEntity100001930 dbo:ProgrammingLanguage yago:Tool104451818 yago:Whole100003553 |
rdfs:comment | Das Programm Lex wird im Übersetzerbau benutzt, um Scanner für die lexikalische Analyse von Quelltexten zu erstellen. Ein lexikalischer Scanner ist Teil eines Übersetzers. Lex wird oft genutzt in Kombination mit Yacc, der für die syntaktische Analyse zuständig ist. Lex wurde Mitte der 1970er Jahre an den Bell Labs von in C programmiert; die Regex-Behandlung stammte von Alfred V. Aho und Ken Thompson. Im Sommer 1976 wurde das Programm von dem damaligen Bell-Labs-Praktikanten Eric Schmidt neu implementiert. (de) Lex is a computer program that generates lexical analyzers ("scanners" or "lexers"). Lex is commonly used with the yacc parser generator. Lex, originally written by Mike Lesk and Eric Schmidt and described in 1975, is the standard lexical analyzer generator on many Unix systems, and an equivalent tool is specified as part of the POSIX standard. Lex reads an input stream specifying the lexical analyzer and writes source code which implements the lexical analyzer in the C programming language. In addition to C, some old versions of Lex could generate a lexer in Ratfor. (en) Lex est un outil de génération d'analyseurs lexicaux en langage C. Du point de vue de la classification des langages, Lex est capable de traiter des langages de type 3 (réguliers). Il a été originellement écrit par Mike Lesk et Eric Schmidt (devenu PDG, puis président exécutif du conseil d'administration de Google) et fut décrit en 1975. Il est fréquemment utilisé en association avec Yacc, générateur d'analyseur syntaxique. (fr) Lex(レック、レックス)は、1975年にエリック・シュミットとによって開発された、レキシカルアナライザ(字句解析プログラム、字句解析器)を生成するプログラムである。unixにおける標準のレキシカルアナライザとなっており、POSIX標準ともなっている。コンパイラの作成のためにパーサジェネレータのyaccとともに使用されることも多い。 (ja) Lex는 컴퓨터 과학 분야에서 구문 분석기인 Yacc와 같이 널리 쓰이는 어휘 분석기이다. Lex는 에릭 슈미트와 마이크 레스크가 만든 것으로, 대부분의 유닉스 시스템의 구문 분석 표준으로 사용되고 있고, 그 정의는 POSIX 표준에 명시되어 있다. Lex는 어휘 분석기를 읽어와서, Lexer를 만든 뒤 이를 C 언어로 만들어진 소스 코드의 형태로 출력한다. Lex는 저작권이 있는 소프트웨어로 시작했지만, AT&T의 소스 코드에 기반하는 버전은 오픈 소스 정책을 따라 오픈 솔라리스 등에서 사용된다. 이외에도 유명한 오픈 소스 버전의 Lex로는 빠른 Lex(Fast Lex)라는 의미의 flex가 존재한다. (ko) Lex is een computerprogramma voor het genereren van lexical analysers (of: scanners, lexers). Lex wordt meestal gebruikt in combinatie met de parsergenerator Yacc. De eerste versie van lex werd ontwikkeld door Eric Schmidt en Mike Lesk. Lex werd de standaard scanner-generator van het Unix-besturingssysteem, en is gestandaardiseerd als onderdeel van de POSIX-standaard. (nl) Lex – standardowy program w systemach uniksowych służący do tworzenia tzw. lekserów czyli programów przekształcających wejściowy strumień znaków na symbole (jednostki leksykalne). Program lex wyodrębnia symbole dopasowując ciąg wejściowy do wzorców określonych przez wyrażenia regularne. Z każdym ze wzorców można powiązać odpowiedni fragment programu napisany w języku C odpowiedzialny za wykonanie konkretnej akcji w przypadku odnalezienia symbolu. Obok oryginalnego programu lex napisanego przez Erica Schmidta i Mike'a Leska popularnością cieszy się wersja o nazwie flex. (pl) Lex — программа для генерации лексических анализаторов, обычно используемая совместно с генератором синтаксических анализаторов yacc. Lex был первоначально написан Эриком Шмидтом (Eric Schmidt) и Майком Леском (Mike Lesk) и является стандартным генератором лексических анализаторов в операционных системах Unix, а также включён в стандарт POSIX. Lex читает входной поток, описывающий лексический анализатор, и даёт на выходе исходный код на языке программирования Cи. (ru) 在電腦科學裡面,lex是一個產生詞法分析器(lexical analyzer,"掃描器"(scanners)或者"lexers")的程式。 Lex常常與yacc 語法分析器產生程式(parser generator)一起使用。Lex(最早是埃里克·施密特和迈克·莱斯克製作)是許多UNIX系統的標準詞法分析器(lexical analyzer)產生程式,而且這個工具所作的行為被詳列為POSIX標準的一部分。 Lex讀進一個代表詞法分析器規則的輸入字串流,然後輸出以C語言實做的詞法分析器原始碼。 雖然傳統上是商業軟體,但是有些根據原本AT&T程式碼這些版本的Lex可以以公開原始碼的形式獲得,並被視為某些系統的一部份,例如說OpenSolaris和貝爾實驗室九號計畫。另一個有名的Lex公開原始碼版本是flex,代表"快速的詞法分析器"(fast lexical analyzer) (zh) Lex je v informatice program sloužící pro generování lexikálních analyzátorů. Často se využívá společně s generátorem syntaktických analyzátorů, programem yacc. Lex vytvořil Eric Schmidt a Mike Lesk. Je běžnou součástí mnoha unixových systémů a stal se součástí standardu POSIX. Přestože je Lex tradičně proprietární nástroj, existují verze založené na původním kódu od AT&T jako open source v rámci systémů OpenSolaris a Plan 9 from Bell Labs. Velmi populární open source variantou je program flex. (cs) Στην επιστήμη υπολογιστών το lex είναι ένα πρόγραμμα που παράγει λεκτικούς αναλυτές ("scanners" ή "lexers"). Το lex συχνά χρησιμοποιείται μαζί με τη yacc. Αρχικά το lex γράφτηκε από τον Mike Lesk και τον Eric Schmidt, και αποτελεί την κλασική γεννήτρια παραγωγής λεκτικών αναλυτών σε πολλά συστήματα Unix, και ένα εργαλείο που έχει τη συμπεριφορά του περιλαμβάνεται στο πρότυπο POSIX. Το lex διαβάζει ένα ρεύμα εισόδου (input stream) που ορίζει το λεκτικό αναλυτή και παράγει πηγαίο κώδικα που υλοποιεί το λεκτικό αναλυτή στη γλώσσα προγραμματισμού C. (el) Lex es un programa para generar analizadores léxicos (en inglés scanners o lexers). Lex se utiliza comúnmente con el programa yacc que se utiliza para generar análisis sintáctico. Lex, escrito originalmente por Eric Schmidt y , es el analizador léxico estándar en los sistemas Unix, y se incluye en el estándar de POSIX. Lex toma como entrada una especificación de analizador léxico y devuelve como salida el código fuente implementando el analizador léxico en C. (es) Em ciência da computação (linguagens de programação), lex é um programa que gera analisadores léxicos. Ele é geralmente usado com o yacc, um gerador de analisador sintático. Escrito originalmente por Eric Schmidt e Mike Lesk, ele é o gerador de analisador léxico padrão em diversos sistemas Unix. Apesar de ser software proprietário, versões do lex baseadas no código original da AT&T estão disponíveis em código aberto, como parte de sistemas como OpenSolaris e Plan 9. Outra versão popular e livre do lex é o . (pt) Lex är inom datalogi ett datorprogram som genererar programkod för lexikalanalys, en s.k. scanner eller lexer. Lex används ofta i samband med yacc, ett program som genererar programkod för en parser. Lex skrevs ursprungligen av Eric Schmidt och , och är standardverktyget för lexikalanalys på många Unix-system. Lex ingår i POSIX-standarden. (sv) |
rdfs:label | Lex (software) (cs) Lex (Informatik) (de) Lex (el) Lex (informática) (es) Lex (logiciel) (fr) Lex (software) (en) Lex (ko) Lex (ja) Lex (computerprogramma) (nl) Lex (informatyka) (pl) Lex (pt) Lex (ru) Lex (datorprogram) (sv) Lex (zh) |
owl:sameAs | freebase:Lex (software) yago-res:Lex (software) wikidata:Lex (software) dbpedia-cs:Lex (software) dbpedia-de:Lex (software) dbpedia-el:Lex (software) dbpedia-es:Lex (software) dbpedia-fa:Lex (software) dbpedia-fr:Lex (software) dbpedia-hu:Lex (software) http://hy.dbpedia.org/resource/Lex_(ինֆորմատիկա) dbpedia-ja:Lex (software) dbpedia-ko:Lex (software) dbpedia-nl:Lex (software) dbpedia-pl:Lex (software) dbpedia-pt:Lex (software) dbpedia-ru:Lex (software) dbpedia-sr:Lex (software) dbpedia-sv:Lex (software) dbpedia-zh:Lex (software) https://global.dbpedia.org/id/2qeEN |
prov:wasDerivedFrom | wikipedia-en:Lex_(software)?oldid=1114662355&ns=0 |
foaf:isPrimaryTopicOf | wikipedia-en:Lex_(software) |
foaf:name | Lex (en) |
is dbo:knownFor of | dbr:Mike_Lesk |
is dbo:programmingLanguage of | dbr:OpenNebula |
is dbo:wikiPageDisambiguates of | dbr:Lex |
is dbo:wikiPageRedirects of | dbr:Lex_programming_language dbr:Lex_programming_tool dbr:.L dbr:.l |
is dbo:wikiPageWikiLink of | dbr:List_of_file_formats dbr:Parsing dbr:Bell_Labs dbr:Unix dbr:Index_of_computing_articles dbr:Lexical_analysis dbr:List_of_programmers dbr:List_of_programming_languages_by_type dbr:SCons dbr:Make_(software) dbr:Comparison_of_parser_generators dbr:Compiled_language dbr:Compiler-compiler dbr:Functional_programming dbr:Microsoft_Phoenix dbr:SYNTAX dbr:Syntax_(programming_languages) dbr:Backus–Naur_form dbr:Yacc dbr:Alfred_Aho dbr:Doxygen dbr:Eric_Schmidt dbr:Non-English-based_programming_languages dbr:PLY_(Python_Lex-Yacc) dbr:Haskell_Platform dbr:Heirloom_Project dbr:Irony_(framework) dbr:JavaCC dbr:Arden_syntax dbr:Rayshade dbr:Oberon-2 dbr:Oberon_(programming_language) dbr:OpenNebula dbr:Research_Unix dbr:Lex dbr:Mike_Lesk dbr:PL/0 dbr:Lex_programming_language dbr:Lex_programming_tool dbr:.L dbr:.l |
is dbp:knownFor of | dbr:Mike_Lesk |
is dbp:programmingLanguage of | dbr:OpenNebula |
is foaf:primaryTopic of | wikipedia-en:Lex_(software) |